SwiftUI 给视图添加边框

通过 .border 添加边框

1
2
3
4
5
6
7
8
9
10
11
12
struct ContentView: View {
var body: some View {
VStack {
Image(systemName: "globe")
.imageScale(.large)
.foregroundStyle(.tint)
Text("Hello, world!")
}
.padding()
.border(.gray, width: 2)
}
}

通过 .overlay 设置圆角

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct ContentView: View {
var body: some View {
VStack {
Image(systemName: "globe")
.imageScale(.large)
.foregroundStyle(.tint)
Text("Hello, world!")
}
.padding()
.overlay(
RoundedRectangle(cornerRadius: 16)
.strokeBorder(Color.blue, lineWidth: 4)
// .stroke(Color.blue, lineWidth: 4)
)
}
}

stroke()strokeBorder() 修饰符在形状周围绘制边框时,它们的行为略有不同:

strokeBorder() 修饰符将视图插入边框宽度的一半,然后应用笔触,这意味着整个边框都在视图内部绘制。 stroke() 修饰符绘制一个以视图边缘为中心的边框,这意味着边框的一半位于视图内部,一半位于视图外部。 重要说明:这两个修饰符仅适用于形状–您可以将 stroke()strokeBorder()CircleRectangleCapsule等一起使用,而不能与 TextImage 或其他非形状视图一起使用。 如果要在非形状视图周围绘制边框,则应改用 border() 修饰符。


SwiftUI 给视图添加边框
https://wonderhoi.com/2025/06/25/SwiftUI-给视图添加边框/
作者
wonderhoi
发布于
2025年6月25日
许可协议