Programmatically perform an action on UILabel touchUpInside?

谁说我不能喝 提交于 2020-01-03 15:50:09

问题


I have a bunch of UILabels that I add through code and I want to perform a specific action for each if the user's finger touches up inside (much like UIButton's touchUpInside in IB). What is the best way of doing this?


回答1:


The easiest way is probably to use UIButton instead of UILabel. A custom UIButton has no border and can look like a plain label, but handles the event tracking for you.

Otherwise, you must derive from UILabel and implement the UIResponder calls for touch handling.




回答2:


You can use UITapGestureRecognizer to perform action over the label Fields.

Set the number of taps and touches on the UITapGestureRecognizer object.

[oneFingerTwoTaps setNumberOfTapsRequired:1];
[oneFingerTwoTaps setNumberOfTouchesRequired:1]; 

set user interaction of label field like

labelField.userInteractionEnabled = YES;

then add target method over the

UITapGestureRecognizer object.


来源:https://stackoverflow.com/questions/3269385/programmatically-perform-an-action-on-uilabel-touchupinside

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!