2.6 绘制渐变和简单图形
SwiftUI为我们提供了各种渐变选项,举个例子,可以建一个由白色到黑色的线性渐变背景的文本视图,如下所示:
Text("Hello World")
.padding()
.foregroundColor(.white)
.background(LinearGradient(gradient: Gradient(colors: [.white, .black]), startPoint: .top, endPoint: .bottom), cornerRadius: 0)
这个渐变颜色被放在一个数组里 [.white, .black]
,这意味着可以在这个数组里放入多种颜色,默认情况下 SwiftUI 会平均分配,所以可以先从白色渐变红色再渐变黑色, [.white, .red, .black]
。
另外参数有,startPoint
表示渐变的起点,endPoint
表示渐变终点,如果是水平渐变则使用 .leading
和 .trailing
。如下:
Text("Hello World")
.padding()
.foregroundColor(.white)
.background(LinearGradient(gradient: Gradient(colors: [.white, .red, .black]), startPoint: .leading, endPoint: .trailing), cornerRadius: 0)
详细文档,SwiftUI Gradient。
如果想在应用程序里使用一些简单图形,可以直接创建,然后根据需要进行着色和定位。例如创建一个 200 x 200 的红色矩形,如下:
Rectangle()
.fill(Color.red)
.frame(width: 200, height: 200)
相同的,如果需要创建一个 50 x 50 的圆形,则如下:
Circle()
.fill(Color.blue)
.frame(width: 50, height: 50)
详细文档,Drawing and Animation。