swift - 核心图形中的动画

标签 swift

我按照这个很棒的 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
    )

}

最佳答案

你在描述这种事情吗?

enter image description here

这是一个更简单的例子 - 它只是一个绘制的三角形 - 但如果我理解正确的话,它是相同的想法:我们正在动画一张图和另一张图之间的差异。

基本上你有两个选择。最简单的方法是使用 CAShapeLayer,当您更改其路径时,它会自动为您提供动画。另一个选择是执行我在这里所做的操作,即创建一个自定义动画属性 - 在本例中,该属性表示三角形底点的 x 位置。

关于swift - 核心图形中的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31258688/

相关文章:

Swift:如何在回调闭包中使用 instanceType

ios - 带有 FCM token 的设备的 Firebase 通知显示已发送但未收到

swift - 改变子节点的颜色

swift - 如何从具有多个部分的 NSCollectionView 添加/删除项目

ios - 分段控件未附加到其边界

swift - 创建带参数的中缀运算符

objective-c - 是否可以在 Apple Watch App 中水平滚动多个组?

swift - Swift 中 AnyObject 的反射(reflection)

ios - 如果事先知道 MAC 地址,有没有办法在 Swift 5 中计算 BLE 设备的 UUID?

ios - 如何不陷入 viewWillLayoutSubviews 的无限循环?