如下图所示,我已经实现了一个圆形轮廓(当然不带数字)。
不幸的是,我遇到了两个问题,您也许可以帮我解决。
我希望渐变沿着线条进行,即此图片中最暗的点应始终位于笔画末端(1b),而不像目前在(1a)处。
是否可以在一侧设置线段端点为
.round
,另一侧设置为.butt
? 我想在(1b)处有一个圆形的线端,并在(2)处有一条直线,对应于 .butt。
这是我的示例代码:
struct CircularGradientLine: View {
private let gradient = LinearGradient(
gradient: Gradient(colors: [StyleGuide.Color.primary, .white]),
startPoint: .leading,
endPoint: .trailing)
public var body: some View {
ZStack {
Circle()
.stroke(Color.white, lineWidth: 46)
Circle()
.trim(from: 0, to: CGFloat(0.8))
.stroke(gradient, style:
StrokeStyle(lineWidth: 46,
lineCap: .round))
}.padding(60)
}
}
如果有人能帮忙,我会非常高兴。
AngularGradient
,我终于成功了。 - Phillipp