【发布时间】:2020-04-14 20:47:02
【问题描述】:
我正在尝试制作弧形外观的简单动画。 这很简单,我不知道为什么不起作用。 我做这个结构
struct Arc: Shape {
var center: CGPoint
var radius: CGFloat
var endAngle: Double
func path(in rect: CGRect) -> Path {
var path = Path()
path.addArc(center: center, radius: radius, startAngle: .degrees(180), endAngle: .degrees(endAngle), clockwise: false)
return path
}
}
然后像这样加载它
struct TestView: View {
@State var endAngle: Double = 180
var body: some View {
Arc(center: CGPoint(x: 250, y: 250), radius: 100, endAngle: self.endAngle)
.stroke(Color.orange, lineWidth: 5)
.onAppear() {
withAnimation(Animation.linear(duration: 20)) {
self.endAngle = 0
}
}
}
}
但不是动画,只是从180跳到0。 我也尝试过 OnTapGesture,但也不起作用。 我现在不知道,为什么这不起作用
我的 ContentView 很简单
struct ContentView: View {
var body: some View {
TestView()
}
}
我该如何解决?
【问题讨论】: