ios - 在整个 iOS View 中重复使用动画

标签 ios swift animation addtarget

不确定我的想法是否正确,但我在我的 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/

相关文章:

css - 如何在同一个动画中使用不同的背景颜色?

ios - 在 swift 中实现 GTScrollNavigationBar

ios - objective-c JSON 文字,嵌套 - 最优雅的解决方案?

ios - 推送导航 Controller 时出现异常 - iOS

ios - 将 float 添加到十进制数

安卓动画

ios - UITextField 不显示键盘语言选择

swift - 如何在主体 View 中设置对齐方式?

ios - 尝试传回 userInfo 时 NSNotification 在 Swift 中中断

javascript - CSS 动画残留像素碎片