核心图形中的动画

时间:2015-07-07 02:18:06

标签: swift

我按照这个令人敬畏的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
    )

}

1 个答案:

答案 0 :(得分:1)

你在描述这种事吗?

enter image description here

这是一个更简单的例子 - 它只是一个绘制的三角形 - 但它是相同的想法,如果我正确地理解你:我们正在动画一幅画和另一个。

基本上你有两个选择。简单的方法是使用CAShapeLayer,当您更改path时,它会自动为您设置动画。另一个选择是做我在这里做的事情,即创建一个自定义的可动画属性 - 在这种情况下,是一个表示三角形底点的x位置的属性。