SwiftUI 为我们提供了五个常用的内置形状:矩形(rectangle),圆角矩形(rounded rectangle),圆形(circle),椭圆形(ellipse)和胶囊形(capsule)。 根据提供的尺寸,最后三个尤其在行为上有细微的差别,但是我们可以通过一个示例来演示所有选项:
struct ContentView: View {
var body: some View {
ZStack {
Rectangle()
.fill(Color.black)
.frame(width: 200, height: 200)
RoundedRectangle(cornerRadius: 25, style: .continuous)
.fill(Color.red)
.frame(width: 200, height: 200)
Capsule()
.fill(Color.green)
.frame(width: 100, height: 50)
Ellipse()
.fill(Color.blue)
.frame(width: 100, height: 50)
Circle()
.fill(Color.white)
.frame(width: 100, height: 50)
}
}
}
绘制所有五个形状:两个以 200x200
绘制,三个以 100x50
绘制。 但是,由于形状的绘制行为不同,因此您会在输出中看到所有五个形状:
Rectangle
将按照您指定的确切尺寸绘制一个框。RoundedRectangle
的作用相同,只是现在您可以将拐角处的角度取一定数量。 它的第二个参数 style
决定了您要使用经典的圆角(.circular
)还是 Apple 稍微更平滑的替代(.continuous
)。Capsule
绘制一个盒子,其中一个边缘轴完全变圆,具体取决于高度或宽度最大。 我们的形状是 100x50
,因此它的左右边缘将变圆,而上边缘和下边缘则笔直。Ellipse
以您指定的确切尺寸绘制椭圆。Circle
绘制的椭圆的高度和宽度相等,因此当我们为空间提供100x50时,实际上将得到 50x50
。