检测UILabel上的触摸事件

时间:2011-12-25 21:15:26

标签: uigesturerecognizer

我有一个UILabel,我将以编程方式添加到我的主视图中。然后我添加一个手势识别器来获取标签上的触摸事件:

UITapGestureRecognizer *recog = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTouchNotification)];
[notification addGestureRecognizer:recog];
[recog release];

但是,触摸标签时不会触发任何内容。我记录了所有子视图以确保标签位于顶部,而且确实如此。我可以让识别器工作的唯一方法是将它添加到底层视图,但这没有多大帮助。有谁知道为什么这个标签表现得如此“透明”?

节日快乐!

1 个答案:

答案 0 :(得分:19)

默认情况下,

UILabeluserInteractionEnabled属性设置为NO,因此它不会接收触摸事件,并且手势识别器不起作用。尝试为您的标签启用用户互动:

...
notification.userInteractionEnabled = YES;
...