0

我在我的類中的UITableView帶有自定義UITableViewCellUIImageView內。UIGestureRecognizer手柄觸摸在UITableView的

我需要檢測在該UIImageView觸摸來處理自定義方法(handleSingleTouch:) ,我需要選擇小區時要調用的-didSelectRowAtIndexPath

所以我以這種方式添加一個UIGestureRecognizerTableView

UIGestureRecognizer *GEST=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTouch:)]; 

[self.myTable addGestureRecognizer:GEST]; 
GEST.delegate=self; 
[GEST release]; 

[GEST setCancelsTouchesInView:NO]; 
[GEST setDelaysTouchesEnded:NO]; 

有衝突: 每次UIImageView被觸摸時tableviewGestureRecognizer啓動方法也是didSelectRowAtIndexPath被調用。

有人知道調用gestureRecognizerMethod沒有調用didSelectRowAtIndexPath的方式嗎?

回答

0

嘗試添加手勢識別到圖像而不是表。看到這個答案https://stackoverflow.com/a/7760402

+0

這可能是一個不錯的解決方案..但是如果你有N件物品加載,性能和節省內存呢? – 2012-05-18 08:31:58

+0

@Denis - 對不起,*非常*晚回覆。性能和內存不應該是一個問題,因爲視圖被回收,因此這種設置只發生在第一次(如果我沒有弄錯)。 – 2013-08-06 03:05:27

0

我不能想辦法做到這一點,因爲你需要接觸響應在整個小區。但是你可以做的是tagUIImageView然後檢查之初 - didSelectRowAtIndexPath,爲UIImageViewreturn

+0

TNX烏拉圭回合快answare!對你來說,我發現了一個grose解決方案,但它的工作原理!每次我檢測到UIImageView與特定標籤的觸摸我設置一個BOOL isImagePressed爲YES,我把條件如果(!isImagePressed)在didSelectRowAtIndexPath爲了控制特定的方法。 – 2012-04-02 12:42:54

+0

someOne有一個更清潔的解決方案? – 2012-04-02 14:13:00