UILabel:在标签上使用userInteractionEnabled方法

Kev*_*rry 9 cocoa-touch objective-c uikit uilabel

我想知道是否有人在UILabel上使用了userInteractionEnabled方法来允许标签像按钮一样(或者只是触发一个方法).任何帮助将不胜感激.干杯!

更新(09年4月30日@ 1:下午7时)澄清:我有一个标准InfoButton和它旁边的我要放置标签文本"设置"和我想的一样的标签按钮的功能(这在翻转因此,基本上我需要将已经定义的showSettinsView绑定到"infoLabel"标签;用户点击infoButton或infoLabel并触发该方法.

infoButton已经在工作,正在使用IBAction来触发该方法.我想知道如何连接标签以实现相同的方法.就这些.干杯!

Ale*_*lds 13

userInteractionEnabled不是一种方法,而是一种财产.但我想你会想把它设置YES为允许事件进入UIViewsuperview.

你可能会想要做的是重写touchesBegan:withEvent:的方法UIView包含您UIButtonUILabel子视图.

在这种方法中,测试是否有任何UITouch触摸落入了界限内UILabel.

也就是说,它的CGPoint元素[touch locationInView]与与相交CGRect元素[infoLabel bounds]?查看CGRectContainsPoint运行此测试的函数.

如果是这样,那么关闭一个NSNotification调用相同的IBAction选择器UIButton.


Mon*_*art 7

另一种解决方案可能是使用a UIButton将其类型设置为custom,而不是a UILabel.这样,您的第二个按钮看起来像a UILabel,您可以将其配置为触发该showSettingsView方法.