我按照这个令人敬畏的Rey Wenderlich教程制作了Bezier弧和递增/递减值。但是如何设置拱门动画而不仅仅是升压和降压?
http://www.raywenderlich.com/90690/modern-core-graphics-with-swift-part-1
我尝试将动画块放在自定义属性声明中,我认为这不是正确的地方,xcode也不允许我这样做。
@IBInspectable var counter: Int = 5 {
didSet {
if counter <= NoOfGlasses {
//the view needs to be refreshed
UIView.animateWithDuration(0.2, animations: {
setNeedsDisplay()
}, completion:nil
)
}
}
}
还尝试将动画块中的增量放在View控制器中,不起作用。
@IBAction func btnPushButton(sender: AnyObject) {
UIView.animateWithDuration(0.2, animations: {
self.arcView.counter = self.arcView.counter + 10
self.counterLabel.text = String(self.arcView.counter)
}, completion:nil
)
}
答案 0 :(得分:1)
你在描述这种事吗?
这是一个更简单的例子 - 它只是一个绘制的三角形 - 但它是相同的想法,如果我正确地理解你:我们正在动画一幅画和另一个。
基本上你有两个选择。简单的方法是使用CAShapeLayer,当您更改path
时,它会自动为您设置动画。另一个选择是做我在这里做的事情,即创建一个自定义的可动画属性 - 在这种情况下,是一个表示三角形底点的x位置的属性。