我有一个奇怪的bug,cgpoints使用pop动画框架和swift
我一直使用Objective-C和Pop来制作动画,但现在我正在尝试对Swift执行相同的操作,当我尝试运行下一个代码时,它会因以下错误而终止:由于未捕获的异常而终止应用程序“无效值”,原因:“nspoint:100,20应为int类型”
然后我试着只用一个int值来做,它可以工作,但只对x轴进行动画处理,而将y轴保留为0。

func interact(){
        var spAn = POPSpringAnimation(propertyNamed:kPOPViewCenter)
        spAn.velocity = 1
        if opened{
            spAn.toValue = NSValue(CGPoint: CGPoint(x: -100, y: 20))
            opened = false
        }
        else{
            spAn.toValue = NSValue(CGPoint: CGPoint(x: 100, y: 20))
            opened = true
        }
        self.pop_addAnimation(spAn, forKey: "center")
    }

最佳答案

您的velocitytoValue必须是相同的类型。
因为您将velocity设置为1(int类型),所以它期望您的toValue也为int类型。
我有同样的问题(使用obj-c),但它告诉我我的toValue应该是CGPoint类型。我最初使用的是一个动画属性,它需要一个CGPoint并且当我更改它时,我也忘记了更改velocity类型。

关于swift - 使用Swift的POPSpringAnimation toValue CGPoint错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27956787/

10-12 13:51