为什么UITextfield、UIButton等UIControl无法使用 UIGestureRecognizer来精确控制其行为?

(总是会因为使用了UIGestureRecognizer而触发了UIControl本身的一些event,导致,只有使用UIControl的event才能真正正确地控制它们)
我想:
这是苹果使UIControl的子类如UITextfield、UIButton之类在接受touch等事件时,将gestureRecognizer转化成了 UIControlEventTouchUpInside之类。其实他们也是响应UIGestureRecognizer的(只是将其转化成了UIControlEvent用于给用户使用addTarget:方法来调用)。这样的好处是使用起来更加简洁方便。并且可以定义一些具有针对性且更复杂的事件,如 下图所示:
 
相对而言,UIGestureRecognizer作为给UIView使用的比较“初级”的方法,只用这几种:
 
UIControl 与 UIView 的 UIGestureRecognizer

发表评论

电子邮件地址不会被公开。 必填项已用*标注

浙公网安备 33010602005964号