我在文档中没有找到关于如何为 UIPinchGestureRecognizer 或 UIRotationGestureRecognizer 指定触摸次数的方法。
我在任何地方发现它只能用两个手指,但根据我的实验,它也可以用 3 个甚至更多的手指。
此外,在 Action 中,属性 numberOfTouches 也永远不会返回实际的手指数。
我只想将它限制为两个手指,因为它会与其他三指识别器混淆。
请你给我一个好的方法吗?谢谢。
最佳答案
根据 docs UIPinchGestureRecognizer
句柄
[...] pinching gestures involving two touches [...]
显然它只考虑两次触摸,但允许同时发生额外的触摸。
要回答您的问题:您可以尝试通过其他方式获取实际的触摸次数,并在该计数大于 2 时阻止捏合 Action 。一种方法是添加更多手势识别器来处理同一 View 上的手势(例如,多个
UITapGestureRecognizer
s,每个可能的触摸次数一个);另一种方法是覆盖安装手势识别器的 View 的 touchesBegan
和 touchesMoved
并使用提供的 touches
数组的计数。(我会先采用第二种方法,因为并行管理多个手势识别器可能会出现问题。)
关于ios - 限制 UIPinchGestureRecognizer 只能使用两个手指,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46893404/