我有一个奇怪的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")
}
最佳答案
您的velocity
和toValue
必须是相同的类型。
因为您将velocity
设置为1(int类型),所以它期望您的toValue
也为int类型。
我有同样的问题(使用obj-c),但它告诉我我的toValue
应该是CGPoint
类型。我最初使用的是一个动画属性,它需要一个CGPoint
并且当我更改它时,我也忘记了更改velocity
类型。
关于swift - 使用Swift的POPSpringAnimation toValue CGPoint错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27956787/