我目前使用的是SceneKit的默认摄像头,我想继续使用单击和单击手势,但我想阻止默认的2指缩放,平移和旋转。
有没有一种方法可以捕获在视图上执行的所有2个触摸手势(我猜是SceneView的父视图)并取消它们,而不禁用1个触摸手势?
defaultCameraController的文档是缺乏的,它看起来像你可以控制滚动等,但不能防止它发生。
private func createCamera() {
scnView.allowsCameraControl = true
cameraNode = SCNNode()
cameraNode.camera = SCNCamera()
if #available(iOS 11.0, *) {
scnView.defaultCameraController.maximumVerticalAngle = 30
scnView.defaultCameraController.minimumVerticalAngle = -30
}
cameraNode.position = SCNVector3(x: 0, y: 0, z: 5)
myScene.rootNode.addChildNode(cameraNode)
}
字符串
2条答案
按热度按时间lstz6jyr1#
此外-一旦你建立自己的相机-你可以测试触摸的数量-不包括所有的代码,但类似的东西:
字符串
您可以使用识别器状态(如. begined、.changed、.ended)来检查流并对其进行控制。
ffdz8vbo2#
您可以通过遍历
SNView
上的特定手势并将isEnabled = false
设置为您不希望启用的手势来禁用它们。在这个例子中,我在初始化
SNView
时禁用了UIRotationGestureRecogizer
(2个手指旋转)字符串