美文网首页
问题记录 - 子视图不响应父视图的手势

问题记录 - 子视图不响应父视图的手势

作者: 岁变 | 来源:发表于2019-11-28 13:09 被阅读0次

需求:自定义一个提示框,添加一个全屏的透明遮罩层,点击遮罩层提示框隐藏消失,点击提示框不做响应。

问题:在遮罩层正常添加点击手势的话,子视图同样也会响应父视图的手势。我们需要隔绝父视图的手势。

解决:UIGestureRecognizer签订代理UIGestureRecognizerDelegate
实现代理方法:

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
}

在代理方法中处理视图是否响应手势。

        let tap = UITapGestureRecognizer(target: self, action: #selector(clickTapAction))
        tap.delegate = self
    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
        if (touch.view?.isDescendant(of: self.backView))! {
            return false
        }
        return true
    }

相关文章

网友评论

      本文标题:问题记录 - 子视图不响应父视图的手势

      本文链接:https://www.haomeiwen.com/subject/csavwctx.html