UILabel子类中的UIGestureRecognizer未被调用

Dan*_*iel 0 uigesturerecognizer ios swift

我有一个子类UILabel,看起来像这样:

class GestureLabel: UILabel {

    override init(frame: CGRect) {
        super.init(frame: frame)
        initialize()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        initialize()
    }

    func initialize() {
        self.addGestureRecognizer(UILongPressGestureRecognizer(target: self, action: Selector("longPressGestureRecognizer:")))
    }

    deinit {
        gestureRecognizers?.removeAll()
    }

    func longPressGestureRecognizer(sender: AnyObject) {                
        print("this is never called")
    }
}
Run Code Online (Sandbox Code Playgroud)

但从longPressGestureRecognizer未被称为.难道我做错了什么?

jer*_*e10 6

默认情况下userInteractionEnabled禁用,UILabels因此您必须在添加手势识别器时手动启用它.

确保你设置 self.userInteractionEnabled = true