2012-05-22 24 views
0

我已將UITabGestureRecognizer附加到我的表格視圖,以檢測特定位置上的選項卡。取消UITapGestureRecognizer

- (void)cellTapped:(UITapGestureRecognizer *)gesture 
{ 
    CGPoint tapLocation = [gesture locationInView:self.tableView]; 

    if(tapLocation.x > 95) 
    { 
     NSIndexPath *swipedIndexPath = [self.tableView indexPathForRowAtPoint:tapLocation]; 
     ItemCell *cell = (ItemCell *)[self.tableView cellForRowAtIndexPath:swipedIndexPath]; 

     [cell toggleCell:YES fromTap:YES]; 
    } 

}

在這裏,我檢查選項卡的x位置,只有當該位置是95 toggleCell功能應該執行以上,否則手勢應該被取消。

雖然這工作正常,單元格中的按鈕實際上很難點擊。 這些按鈕位於95 x點左側。 (因此爲什麼我檢查位置)

似乎我必須按住按鈕一秒才能真正點擊,這是否與點擊手勢有關? (當我刪除它,這一切正常)

所以這裏的綠色區域將是可點擊的。

enter image description here

+0

微小的按鈕或兩個接收同一事件的終點永遠不是一個好主意......也許你可以簡單地使細胞更大,並放棄手勢? – CodaFi

+0

我刪除了手勢,並將單個元素添加到單元格內的視圖中,這似乎工作。 –

回答

0

的解決方案是分別附接手勢細胞自身和收聽不同的通知。