[英]Don't handle pan gesture on superview when touchdown button (subview)
I have a view(superview) which I can move by pan gesture, This view has subview(UIButton) with TouchDown Event. 我有一个可以通过平移手势移动的视图(超级视图),该视图具有带有TouchDown事件的子视图(UIButton)。 But when I press button(touchdown event handled) and continue move finger my superview start handling pan gesture method.
但是当我按下按钮(处理了触地事件)并继续移动手指时,我的超级视图开始处理平移手势方法。 How disable handling pan gesture method of superview when I touchdown its subview?
当我降落其子视图时,如何禁用处理超级视图的平移手势方法?
for disabling touch events on UIView's subviews you can add this extension to UIViewController
: 要在UIView的子视图上禁用触摸事件,可以将此扩展添加到
UIViewController
:
extension UIViewController:UIGestureRecognizerDelegate {
func hideKeyboardWhenTappedAround() {
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissKeyboard))
view.addGestureRecognizer(tap)
tap.delegate = self
}
func dismissKeyboard() {
view.endEditing(true)
}
public func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
if (touch.view!.isDescendantOfView(self.view) && touch.view != self.view){
return false
}
return true
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.