Programmatically perform an action on UILabel touc

2019-06-25 11:20发布

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?

2条回答
放荡不羁爱自由
2楼-- · 2019-06-25 11:49

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.
查看更多
姐就是有狂的资本
3楼-- · 2019-06-25 11:59

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.

查看更多
登录 后发表回答