我正在尝试启用同步手势识别,但仅针对UIPinchGestureRecognizer和UIRotationGestureRecognizer手势。我不希望它对任何其他手势起作用。如果我将以下属性设置为true,它允许同时识别所有手势,我如何才能将其限制为仅旋转和缩放?
func gestureRecognizer(UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}发布于 2015-06-14 21:42:25
确保您的类实现了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
}
}发布于 2020-06-11 18:13:55
任何2美分的swift 5.1
//假设您需要优先选择pinch而不是pan:
//UIGestureRecognizerDelegate
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith shouldRecognizeSimultaneouslyWithGestureRecognizer: UIGestureRecognizer) -> Bool {
if gestureRecognizer is UIPinchGestureRecognizer {
return true
}
return false
}https://stackoverflow.com/questions/30829973
复制相似问题