我有一个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 子类并添加一个点击手势来模仿触摸事件。