Stroke/Border SwiftUI 的圆形特定角
Round Specific Corners of Stroke/Border SwiftUI
我正在做一个 SwiftUI 项目,我需要一个视图有一个只有一些圆角的边框(例如,左上角和右上角)。
我添加了一个带笔划的 RoundedRectangle 并且能够将所有角都圆化。但是,我只需要将一些角变圆,但我想不出办法。
这是我必须添加 RoundedRectangle 的代码:
.overlay(
RoundedRectangle(cornerRadius: 20)
.stroke(Color.gray, lineWidth: 1)
)
为了只使特定的角变圆,我查看了这个 Whosebug post:。但是,我必须去掉圆角矩形(因为它圆了所有的角)。我将不得不使用普通边框。但是,对于正常的边框,它会在圆角和尝试提供的任何答案时剪掉一段边框。
这是我理想中想要的样子(这是来自 Bootstrap 的示例 - 我们正在将网站重建为应用程序):
谢谢!
这里有另一种/更简单的方法来重新创建它。为每一行添加一个白色背景,并在它们后面添加一个灰色背景色。在行之间添加间距,让灰色背景颜色看起来像它们之间的分隔线。然后只需向整个视图添加一个矩形叠加层,就像您在代码中已有的那样!
struct CornerView: View {
var body: some View {
VStack(spacing: 1) {
ForEach(0..<5) { index in
Text("Item \(index)")
.frame(maxWidth: .infinity)
.frame(height: 55)
.background(Color.white)
}
}
.background(Color.gray)
.overlay(
RoundedRectangle(cornerRadius: 5)
.stroke(Color.gray, lineWidth: 1)
)
.padding()
}
}
struct CornerView_Previews: PreviewProvider {
static var previews: some View {
CornerView2()
}
}
我正在做一个 SwiftUI 项目,我需要一个视图有一个只有一些圆角的边框(例如,左上角和右上角)。
我添加了一个带笔划的 RoundedRectangle 并且能够将所有角都圆化。但是,我只需要将一些角变圆,但我想不出办法。
这是我必须添加 RoundedRectangle 的代码:
.overlay(
RoundedRectangle(cornerRadius: 20)
.stroke(Color.gray, lineWidth: 1)
)
为了只使特定的角变圆,我查看了这个 Whosebug post:
这是我理想中想要的样子(这是来自 Bootstrap 的示例 - 我们正在将网站重建为应用程序):
谢谢!
这里有另一种/更简单的方法来重新创建它。为每一行添加一个白色背景,并在它们后面添加一个灰色背景色。在行之间添加间距,让灰色背景颜色看起来像它们之间的分隔线。然后只需向整个视图添加一个矩形叠加层,就像您在代码中已有的那样!
struct CornerView: View {
var body: some View {
VStack(spacing: 1) {
ForEach(0..<5) { index in
Text("Item \(index)")
.frame(maxWidth: .infinity)
.frame(height: 55)
.background(Color.white)
}
}
.background(Color.gray)
.overlay(
RoundedRectangle(cornerRadius: 5)
.stroke(Color.gray, lineWidth: 1)
)
.padding()
}
}
struct CornerView_Previews: PreviewProvider {
static var previews: some View {
CornerView2()
}
}