問題記錄 - 子視圖不響應父視圖的手勢

需求:自定義一個提示框,添加一個全屏的透明遮罩層,點擊遮罩層提示框隱藏消失,點擊提示框不做響應。

問題:在遮罩層正常添加點擊手勢的話,子視圖同樣也會響應父視圖的手勢。我們需要隔絕父視圖的手勢。

解決:UIGestureRecognizer簽訂代理UIGestureRecognizerDelegate
實現(xiàn)代理方法:

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
    }
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容