我按照这个很棒的 Rey Wenderlich 教程制作了贝塞尔曲线和增量/减量值。但是如何为拱门设置动画而不仅仅是向上和向下呢?
http://www.raywenderlich.com/90690/modern-core-graphics-with-swift-part-1
我尝试将动画 block 放在自定义属性声明中,我认为这不是正确的位置,而且 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 Controller 中的动画 block 中,但没有成功。
@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
)
}
最佳答案
你在描述这种事情吗?
这是一个更简单的例子 - 它只是一个绘制的三角形 - 但如果我理解正确的话,它是相同的想法:我们正在动画一张图和另一张图之间的差异。
基本上你有两个选择。最简单的方法是使用 CAShapeLayer,当您更改其路径
时,它会自动为您提供动画。另一个选择是执行我在这里所做的操作,即创建一个自定义动画属性 - 在本例中,该属性表示三角形底点的 x 位置。
关于swift - 核心图形中的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31258688/