ジェスチャーの同時認識を有効にしようとしていますが、UIPinchGestureRecognizer
とUIRotationGestureRecognizer
ジェスチャーのみです。他のジェスチャーでは機能しません。次のプロパティをtrueに設定すると、すべてのジェスチャーを同時に認識できますが、回転とスケーリングだけに制限するにはどうすればよいですか?
func gestureRecognizer(UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
クラスがUIGestureRecognizerDelegate
を実装していることを確認してください
class YourViewController: UIViewController, UIGestureRecognizerDelegate ...
ジェスチャーのdelegate
をself
に設定します
yourGesture.delegate = self
クラスにデリゲート関数を追加する
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
if (gestureRecognizer is UIPanGestureRecognizer || gestureRecognizer is UIRotationGestureRecognizer) {
return true
} else {
return false
}
}