代码之家  ›  专栏  ›  技术社区  ›  Jaanus

如何使uiTableView(控制器)捕获多点触摸事件?

  •  4
  • Jaanus  · 技术社区  · 15 年前

    我有一个UITableViewController的子类,它按预期工作。我想为整张桌子捕捉多点触控事件,用它们来做一些事情。

    据我了解,我应该使控制器的TableView成为UITableView的子类。在那节课上,我可以捕捉到TouchsMoved等事件。

    但我也明白,UITableView是 UIScrollView 它劫持了所有的触摸事件,所以我再也看不到它们。

    那么,有没有什么方法可以让我的桌子上的多点触控事件继续下去呢?具体来说,我想实现一些功能,比如两个手指捏/缩放和一个手指水平拖动。

    因为这些触摸事件都传递给表单元,也许我应该在表单元级别执行此操作?唯一的问题是,这是否与多点触摸兼容?(以便我可以将来自不同单元格的事件聚合为多点触控事件并处理这些事件…)

    编辑:尝试使用单元格,并能够看到一些水平事件。但是,所有垂直事件都完全被uiscrollview作为表滚动劫持。如果有任何方法可以让uiscrollview取消劫持这些事件的话,我就不想破解它了…

    1 回复  |  直到 12 年前
        1
  •  2
  •   Community CDub    8 年前

    This solution 看起来工作很好,感觉很干净。我会把这个问题留一段时间,因为如果有人想提出其他的建议,如果我再也得不到什么,那么在某个时候把这个问题标记为答案。

    编辑:这个答案是过时的,因为现代的方式来做这一点,当然,是最好的识别者。