我正在使用NIB文件來佈置自定義表格視圖單元格。這個單元格帶有一個名爲lblName的標籤。將UITapGestureRecognizer添加到此標籤永遠不會觸發關聯的事件。我有userInteractionEnabled = YES。如何將UITapGestureRecognizer添加到表格視圖單元格內的UILabel中?
我猜測問題是UILabel在TableView中,並且表格/單元格視圖正在攔截水龍頭。我能做些什麼嗎?
我想要做的就是在按下UILabel時執行一些自定義操作!我所見過的所有解決方案都很荒謬。使用標準工具集應該很容易。但顯然不是。
下面是我使用的代碼:
- (void)tapAction {
NSLog(@"Tap action");
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction)];
[recognizer setNumberOfTapsRequired:1];
//lblName.userInteractionEnabled = true; (setting this in Interface Builder)
[lblName addGestureRecognizer:recognizer];
}
謝謝,這個伎倆!在你的代碼中修正一些錯別字:首先「if」應當是「for」,然後你想枚舉cell.contentViews.subviews。感謝你的回答! – Bryan 2012-04-10 19:11:34
哦,我在這裏輸入了自己的名字。所以有一點小錯誤,我會更新它。 – 2012-04-11 04:41:53
直到我在單元本身設置了「用戶交互啓用」後,這才起作用 – 2014-08-05 15:16:25