UIButton 子类忽略'Touch Up Inside'事件



我有一个UIButton的子类:

    import UIKit
    class CustomButton: UIButton {
        required init?(coder decoder: NSCoder) {
            super.init(coder: decoder)
            //Customizing the button appearance
        }
    }

界面生成器中,在情节提要中,在我的主视图控制器下,我拖放了一个常用按钮,并从下拉菜单中将其"自定义类"更改为自定义按钮。

将"内部润色"事件连接到IBAction。

显示外观的自定义代码,但按钮未触发"内部修饰"。

当我在子类中检查触摸事件(触摸开始、结束、进食)时,按钮似乎正在接收触摸。

尝试在作为 UIButton 一部分的子视图上禁用用户交互。这将允许手势继续到按钮本身。

userInteractionEnabled = false

发现问题:

当我自定义按钮时,我添加了一个 UIVisualEffectView 作为其子视图,该子视图覆盖了整个框架,并取消了按钮能够执行的任何事件。 很不幸。

我不得不使用 UIView 子类并添加一个点击手势来模仿触摸事件。

最新更新