美文网首页
hitTest 监听超出父控件视图范围内的子控件的点击事件

hitTest 监听超出父控件视图范围内的子控件的点击事件

作者: 冰霜海胆 | 来源:发表于2019-08-21 21:19 被阅读0次

    有时候需要监听或拦截超出了父控件的子控件的点击事件。

    例如:自定义的 navigationBar ,在 navigationBar 视图下方添加了自定义的控件,但是此控件仍属于 navigationBar 的子控件。

    open override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
           
        if clipsToBounds || isHidden || alpha == 0 {
            return nil
        }
    
        for subview in subviews.reversed() {
            let subviewPoint = subview.convert(point, from: self)
            if let view subview.hitTest(subviewPoint, with: event) {
                return view
            }
        }
    
        return nil
    }
    

    相关文章

      网友评论

          本文标题:hitTest 监听超出父控件视图范围内的子控件的点击事件

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