2013-06-03 56 views
3
UITapGestureRecognizer *singleFingerTap = 
      [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)]; 
    [self.view addGestureRecognizer:singleFingerTap]; 
} 

- (void)handleSingleTap:(id)handleSingleTap { 
    [self.view endEditing:YES]; 
} 

我有一個包含tableview的視圖,並且我想在點擊視圖時結束對文本域的編輯。但是,我不希望這阻止選擇包含的元素。具體來說,我有一個tableview的單元格不能被選中,除非我刷他們。一個水龍頭被手勢識別器吞下並且不會通過。點擊包含視圖塊的手勢tableView選擇

如果我刪除手勢識別器,表格工作正常。

如何處理視圖上的輕拍事件並且不阻止子視圖接收事件?

回答

3

設置你的類作爲您UITapGestureRecognizer的代表和實現方法 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch然後檢查UITouch位置,如果是在tableView然後返回NO,如果不返回YES。

對於UITouch位置使用locationInView:方法