2012-03-25 101 views
2

什么是最简单的方式来检测UITableView背景上的水龙头?我想赶上这些关闭键盘。检测UITableView背景上的水龙头

不幸的是,当我添加一个UITapGestureRecognizer到tableview时,点击单元格会触发处理程序。

回答

2

在你的UI(表)的ViewController或在您的UITableView,重写

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

,并且如果正被示出的键盘,其关闭。另外,不要忘记将此事件转发给您的子视图。

+0

这是不是也抓住了细胞的抽头?我不想那样。 – 2012-03-27 15:07:42

+0

然后,如果触摸是在UITableViewCell的边界,请不要将您的事件转发给子视图,并简单地关闭键盘:) – 0xSina 2012-03-27 19:09:47

+0

嗯,我想我可以抓住所有单元的矩形并寻找触摸 - 但是希望有更高的水平。 – 2012-03-29 00:51:00

1

在tableview的背景视图中添加手势。像这样:

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self 
                      action:@selector(tableViewBackgroundTap)]; 

[self.tableView.backgroundView addGestureRecognizer:tapGesture]; 
+1

它对我不起作用 – 2015-04-29 10:27:47

+0

如果不先创建&设置'backgroundView',则不起作用。 – 2016-06-01 18:06:05