以编程方式对UILabel touchUpInside执行操作?

Don*_*son 4 iphone uilabel

我有一堆UILabel,我通过代码添加,如果用户的手指触及内部,我想为每个执行特定的操作(很像UIButton的IB中的touchUpInside).这样做的最佳方式是什么?

dra*_*ard 17

最简单的方法可能是使用UIButton而不是UILabel.自定义UIButton没有边框,看起来像普通标签,但为您处理事件跟踪.

否则,您必须从UILabel派生并实现UIResponder调用以进行触摸处理.


Pat*_*ner 5

您可以使用UITapGestureRecognizer对标签字段执行操作.

设置UITapGestureRecognizer对象上的点击和触摸次数.

[oneFingerTwoTaps setNumberOfTapsRequired:1];
[oneFingerTwoTaps setNumberOfTouchesRequired:1]; 
Run Code Online (Sandbox Code Playgroud)

设置标签字段的用户交互

labelField.userInteractionEnabled = YES;
Run Code Online (Sandbox Code Playgroud)

然后添加目标方法

UITapGestureRecognizer object.
Run Code Online (Sandbox Code Playgroud)