同时解除捏合和旋转手势

Spa*_*ies 4 uigesturerecognizer swift

我已经成功实现了手势,允许用户使用UIGuestureRecognizers放大和旋转视图.但是,用户不能同时做两个手势(即同时旋转和缩放).我怎么能这样做呢?以下是我添加手势的方法

var rotateRecognizer = UIRotationGestureRecognizer(target: self, action: "handleRotate:")
var pinchRecognizer = UIPinchGestureRecognizer(target: self, action: "handlePinch:")

testV.addGestureRecognizer(rotateRecognizer)
testV.addGestureRecognizer(pinchRecognizer)
Run Code Online (Sandbox Code Playgroud)

Boh*_*ych 7

在swift 3中,委托方法名称是:

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool { 
        return true
    }
Run Code Online (Sandbox Code Playgroud)

您还需要为手势设置委托:

rotateRecognizer.delegate = self
pinchRecognizer.delegate = self
Run Code Online (Sandbox Code Playgroud)


Spa*_*ies 3

刚刚添加了这个,它就可以工作了:

func gestureRecognizer(UIGestureRecognizer,
        shouldRecognizeSimultaneouslyWithGestureRecognizer:UIGestureRecognizer) -> Bool {
            return true
    }
Run Code Online (Sandbox Code Playgroud)