我在WEPopover中嵌入了一个UITableView。我可以看到整个视图并选择除底部之外的单元格。按下底行不会导致调用didSelectRowAtIndexPath。我尝试在视图中添加UITapGestureRecognizer来拦截触摸并使用下面的代码计算相应的单元格,并发现它可以正常工作。我试图理解为什么即使表视图正在接收触摸事件,也没有调用didSelectRowAtIndexPath。
CGPoint touchLocation = [sender locationInView:self.tableView];
NSIndexPath *tappedIndexPath = [self.tableView indexPathForRowAtPoint:touchLocation];
NSInteger row = [tappedIndexPath row];
任何想法都会受到赞赏。
答案 0 :(得分:-1)
摆脱UITapGestureRecognizer,你不需要它。我的猜测是
1)您的WEPopover小于您的UITableView。将WEPopover上的clipsToBounds属性设置为YES,看看是否仍有此问题。您还可以仔细检查UITableView框架和WEPopover框架的高度,并确保它们是相同的。
2)你有一些覆盖底部细胞的透明视图。检查您的视图层次结构并将透明视图的颜色设置为[UIColor redColor],并确保UITableView上没有任何内容。
你可以触摸底部单元格并滚动吗?