2011-12-25 167 views
7

我有一個UILabel,我正在以編程方式添加到我的主視圖。然後我添加一個手勢識別器來獲取標籤上的觸摸事件:檢測UILabel上的觸摸事件

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

但是,觸摸標籤時不會觸發任何事件。我記錄了所有子視圖,以確保標籤位於頂部,而且是。我可以讓識別器工作的唯一方法是將其添加到底層視圖中,但這不是很有幫助。有誰知道爲什麼這個標籤表現得如此「透明」?

節日快樂!

回答

18

UILabel默認情況下它的userInteractionEnabled屬性設置爲NO,因此它不會接收觸摸事件並且手勢識別器不起作用。嘗試爲您的標籤啓用用戶互動:

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