在SwiftUI中,我们可以使用渐变来制作不同颜色的描边。
例如 -
创建类似于这样的东西 - 粗略翻译如下:
例如 -
@ViewBuilder
func lineWithSecondColorStyleFromPositionN() -> some View {
let n = 0.5
GeometryReader { gr in
Path { path in
path.move(to: CGPoint(x: 0, y: 0))
path.addLine(to: CGPoint(x: gr.size.width, y: gr.size.height))
}
.stroke(
LinearGradient(stops: [
Gradient.Stop(color: .red, location: 0),
Gradient.Stop(color: .red, location: n),
Gradient.Stop(color: .blue, location: n),
Gradient.Stop(color: .blue, location: 1)
], startPoint: .top, endPoint: .bottom),
style: StrokeStyle(lineWidth: 10, lineCap: .butt)
)
}
.frame(height: 200)
}
有任何办法可以对笔画样式做同样的事情吗?创建类似于这样的东西 - 粗略翻译如下:
笔画样式1(实线)从0到n
,
笔画样式2(虚线)从n
到1。
其中n
可以是任何浮点数0<=n<=1