Tableview didSelectRowAtIndexPath 不起作用
Posted
技术标签:
【中文标题】Tableview didSelectRowAtIndexPath 不起作用【英文标题】:Tableview didSelectRowAtIndexPath is not working 【发布时间】:2015-05-07 05:35:04 【问题描述】:我在同一个控制器上使用点击手势和表格视图。
发现在 uiviewcontroller 和 tableview 上使用手势时,tableview didSelectRowAtIndexPath
不起作用。
但我想要视图控制器上的两件事。任何人面对这些东西请告诉我该怎么做。
【问题讨论】:
UITapGestureRecognizer breaks UITableView didSelectRowAtIndexPath的可能重复 【参考方案1】:您需要实现UIGestureRecognizerDelegate
方法gestureRecognizer: shouldReceiveTouch:
,它返回一个BOOL
值。如果返回YES
,则将处理触摸视图上的点击,否则将丢弃点击,并且底层视图的触摸功能将起作用。
在您的情况下,您需要在表格视图中省略点击手势的点击事件,您可以这样做-
#pragma mark UIGestureRecognizerDelegate methods
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
if ([touch.view isDescendantOfView:tableViewInstance])
// return NO
// to skip gesture recognizer events
return NO;
// return YES
// to handle gesture recognizer events on other views
return YES;
【讨论】:
以上是关于Tableview didSelectRowAtIndexPath 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
SFSafariViewController 在安装 YouTube 时请求打开 YouTube 应用
如何使用tableview外的按钮将tableview移动到新的tableview
tableView(cellForRowAtIndexPath) 与 tableView.cellForRowAtIndexPath()?
TableView里面的tableview cell swift 3
将 tapGesture 添加到 tableView 则无法执行 tableView(_ tableView: UITableView, didSelectRowAt indexPath: Index