如何让UITableView(控制器)捕捉多点触摸事件?

如何让UITableView(控制器)捕捉多点触摸事件?

问题描述:

我有一个按预期工作的UITableViewController的子类。我想要捕获整个桌面的多点触控事件,以便与他们一起完成某些操作。如何让UITableView(控制器)捕捉多点触摸事件?

我明白这一点,我应该让控制器的tableView成为UITableView的子类。在那个课上,我可以捕捉touchesMoved等事件。

但我也明白,UITableView是UIScrollView的一个子类,它劫持所有的触摸事件,以便我永远不会看到它们。

那么,有没有办法让我的桌子上的多点触控事件?具体来说,我想实现诸如双指捏合/缩放和单指水平拖动之类的操作。由于这些触摸事件都传递到表格单元格,也许我应该在表格单元格级别执行此操作?唯一的问题是,这与多点触控兼容吗? (以便我可以将不同单元的事件聚合为多点触控事件并处理这些事件...)

编辑:尝试过单元格,并能够看到一些水平事件。尽管如此,所有垂直事件都被UIScrollView完全劫持为表格卷轴。我不想破解这个,如果有什么办法可以让UIScrollView不劫持这些事件...

This solution似乎很好,感觉很干净。我会将问题留待一段时间,因为如果有人想提出其他建议,并且在某些时候将此标记为答案,如果我不能再获得更多信息。

编辑:这个答案是过时的,因为现代的方式来做到这一点,当然是UIGestureRecognizers。