不确定我的想法是否正确,但我在整个 iOS 项目中使用了类似的动画,我想将其压缩为 1 个文件并在任何我想要的地方重复使用。
一个简短的例子。在我的动画文件中,我有一个缩放动画
动画.swift
class Animations {
class func scaleSmall(_ view: UIView) {
let scaleAnim = POPBasicAnimation(propertyNamed: kPOPLayerScaleXY)
scaleAnim?.toValue = NSValue(cgSize: CGSize(width: 0.9, height: 0.9))
view.layer.pop_add(scaleAnim, forKey: "scaleSmallAnim")
}
}
在这里,我的 View 文件夹中有许多 swift 文件之一,我想将该动画添加到按钮
按钮.swift
class Button: UIButton {
override func awakeFromNib() {
super.awakeFromNib()
self.addTarget(self, action: #selector(Animations.scaleSmall(_:)), for: .touchDown)
}
}
我以为我可以从其他文件中引用动画但是每次我这样做时都会遇到同样的错误
'#selector' 的参数是指没有暴露给 Objective-C 的实例方法 'scaleSmall'
我引用这个函数错了吗?