针对特定手势的同时手势识别
Simultaneous gesture recognition for specific gestures
我正在尝试启用同步手势识别,但仅限于 UIPinchGestureRecognizer
和 UIRotationGestureRecognizer
手势。我不希望它适用于任何其他手势。如果我将以下 属性 设置为 true 它允许同时识别所有手势,我怎样才能将其限制为仅旋转和缩放?
func gestureRecognizer(UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
确保您的 class 实施 UIGestureRecognizerDelegate
class YourViewController: UIViewController, UIGestureRecognizerDelegate ...
将手势的 delegate
设置为 self
yourGesture.delegate = self
将委托功能添加到您的 class
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
if (gestureRecognizer is UIPanGestureRecognizer || gestureRecognizer is UIRotationGestureRecognizer) {
return true
} else {
return false
}
}
任意 2 美分 swift 5.1
// 假设你需要更喜欢捏而不是平移:
//UIGestureRecognizerDelegate
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith shouldRecognizeSimultaneouslyWithGestureRecognizer: UIGestureRecognizer) -> Bool {
if gestureRecognizer is UIPinchGestureRecognizer {
return true
}
return false
}
我正在尝试启用同步手势识别,但仅限于 UIPinchGestureRecognizer
和 UIRotationGestureRecognizer
手势。我不希望它适用于任何其他手势。如果我将以下 属性 设置为 true 它允许同时识别所有手势,我怎样才能将其限制为仅旋转和缩放?
func gestureRecognizer(UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
确保您的 class 实施 UIGestureRecognizerDelegate
class YourViewController: UIViewController, UIGestureRecognizerDelegate ...
将手势的 delegate
设置为 self
yourGesture.delegate = self
将委托功能添加到您的 class
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
if (gestureRecognizer is UIPanGestureRecognizer || gestureRecognizer is UIRotationGestureRecognizer) {
return true
} else {
return false
}
}
任意 2 美分 swift 5.1
// 假设你需要更喜欢捏而不是平移:
//UIGestureRecognizerDelegate
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith shouldRecognizeSimultaneouslyWithGestureRecognizer: UIGestureRecognizer) -> Bool {
if gestureRecognizer is UIPinchGestureRecognizer {
return true
}
return false
}