如何在iOS的整个视图上阻止2个手指手势

我当前正在使用SceneKit的默认相机,并且我想继续使用单击和单次滑动手势,但是我想防止默认的2指缩放,平移和旋转。

是否有一种方法可以捕获对视图执行的所有2个触摸手势(我想是SceneView的父视图)并取消它们,而不会禁用1个触摸手势?

scnView.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)
    }
gansinimabi 回答:如何在iOS的整个视图上阻止2个手指手势

此外-一旦您构建了自己的相机-您就可以测试触摸次数-并非包括所有代码,而是类似的东西:

func dragBegins(vRecognizer: UIPanGestureRecognizer)
    {
        if(data.gameState == .run)
        {
            if(vRecognizer.numberOfTouches == 2) { dragMode = .strafe }
        }
    }

您可以使用.began,.changed,.end等识别器状态来检查流量并对其进行控制。

本文链接:https://www.f2er.com/2484590.html

大家都在问