目标是针对同一SCNScene实现两个平移手势:一个是单指手势,另一个是双指手势。
下面的代码没有起作用。即使手势被分配了不同的选择器,单指平移函数也从未被调用。单指和双指都会调用
从阅读其他问题中得知,
是否有可能如上所述实现两个平移手势?如果可以,请问正确的方法是什么?
下面的代码没有起作用。即使手势被分配了不同的选择器,单指平移函数也从未被调用。单指和双指都会调用
sceneViewPannedTwoFingers
。从阅读其他问题中得知,
shouldRecognizeSimultaneouslyWithGestureRecognizer
可能是答案,但这些平移手势并不同时发生。它应该是单指平移或双指平移,而不是同时进行。是否有可能如上所述实现两个平移手势?如果可以,请问正确的方法是什么?
// Handle one-finger pans
let panRecognizer = UIPanGestureRecognizer(target: self, action: #selector(sceneViewPannedOneFinger))
sceneView.addGestureRecognizer(panRecognizer)
// Handle two-finger pans
let twoFingerPanRecognizer = UIPanGestureRecognizer(target: self, action: #selector(sceneViewPannedTwoFingers))
sceneView.addGestureRecognizer(twoFingerPanRecognizer)
func sceneViewPannedTwoFingers(sender: UIPanGestureRecognizer) {
print("two finger pan!!!")
}
func sceneViewPannedOneFinger(sender: UIPanGestureRecognizer) {
print("one finger pan!!!")
}
panRecognizer
添加到场景之前,请尝试panRecognizer.delegate = self
。 - Leo DabusshouldRecognizeSimultaneouslyWithGestureRecognizer
是解决方案吗?然后文档有点让人困惑,因为一些帖子将该函数解释为同时进行两个手势。另外,请发布完整答案以便获得积分(尽管这并不是您需要的声誉值:))。 - Crashalot