不确定我的想法是否正确,但我在我的 iOS 项目中使用了类似的动画,我想将它压缩到 1 个文件并在任何我想要的地方重复使用。
一个简单的例子。在我的动画文件中,我有一个比例动画
Animations.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 文件之一,我想将该动画添加到按钮
Button.swift
class Button: UIButton {
override func awakeFromNib() {
super.awakeFromNib()
self.addTarget(self, action: #selector(Animations.scaleSmall(_:)), for: .touchDown)
}
}
我以为我可以从一个额外的文件中引用动画,但是每次我这样做时我都会得到同样的错误
“#selector”的参数引用了未暴露给 Objective-C 的实例方法“scaleSmall”
我是否引用了这个函数错误?
最佳答案
尝试更改 class func scaleSmall(_ view: UIView) {
到
@objc class func scaleSmall(view: UIView) {
关于ios - 在整个 iOS View 中重复使用动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41590843/