iOS 子视图与父视图同一手势的冲突处理

261 阅读1分钟

业务场景: subview与superView中均存在pan手势,当pan作用在subView上时要求superView不响应pan手势

解决方案代码如下: 在superView实现如下代理方法

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool { 
if let otherView = otherGestureRecognizer.view, otherView is SubView { 
    return true
 } 
 return false 
}