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

时间:2016-03-19 17:39:33

标签: ios xcode uibutton touch subclass

我有一个UIButton的子类:

    import UIKit
    class CustomButton: UIButton {

        required init?(coder decoder: NSCoder) {
            super.init(coder: decoder)

            //Customizing the button appearance
        }
    }

在界面构建器中,在故事板中,在我的主视图控制器下,我拖放了一个库存按钮,并从下拉菜单中将其“自定义类”更改为CustomButton。

将这是'Touch Up Inside'事件连接到IBAction。

显示外观的自定义代码,但按钮未触发“内部触摸”

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

2 个答案:

答案 0 :(得分:3)

尝试在属于UIButton的子视图上禁用用户互动。这将允许手势继续到按钮本身。

userInteractionEnabled = false

答案 1 :(得分:0)

发现问题:

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

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