我的ViewController
有多个UITableViews
,我为这些单元格添加了UILongPressGestureRecognizer
。每当调用手势时,我都想显示一个弹出窗口。当我只有一个TableView时,我可以使用:
if let indexPath = tableView.indexPathForRowAtPoint(recognizer.locationInView(tableView)) {
// code
}
现在我有多个TableViews
我不知道如何告诉方法TableView
它应该用来查找indexPath
。
我应该使用自定义GestureRecognizers
作为标识符吗?这似乎不是一个真正好的解决方案,因为我必须为此GestureRecognizer
中的每个TableView
创建一个新ViewController
。
有人可以告诉我一个简单的解决方法吗?
答案 0 :(得分:0)
为每个表视图分配不同的标记。在执行任何操作之前先检查标记...
答案 1 :(得分:0)
假设您的多个表都是视图A的子视图且不重叠:
frame
是否包含位置一旦找到了一个,那就是被触摸的表格。
或者,您可以依次在每个表格视图中获取手势的位置,并检查它是否在bounds
内。