美文网首页
UITapGestureRecognizer 和 didSele

UITapGestureRecognizer 和 didSele

作者: 文瑶906 | 来源:发表于2017-06-05 16:40 被阅读0次

在UIView中创建了一个UITableView ,但是tableView的点击事件 和 UITapGestureRecognizer 的冲突。

本篇文章是在 此文章上做的修改。
http://blog.csdn.net/yimiyuangguang/article/details/70831559

解决方法:

  public func showView(){
        UIApplication.shared.keyWindow?.addSubview(self)
        
        self.backgroundColor = UIColor.red
        let tapG = UITapGestureRecognizer(target: self, action: #selector(dismissView))
        tapG.delegate = self
        self.addGestureRecognizer(tapG)
 }
extension LeftView :UIGestureRecognizerDelegate{
    
    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
       
        let touchClass = NSStringFromClass((touch.view?.classForCoder)!)
        let supClass = NSStringFromClass((touch.view?.superview?.classForCoder)!)
        
        if touchClass == "UITableView" || touchClass == "UICollectionView" ||
            supClass == "UITableView" || supClass == "UICollectionView" ||
            touchClass == "UITableViewCellContentView" || supClass == "UITableViewCell"
            {
            return false
        }
        
        return true
    }
}

相关文章

网友评论

      本文标题:UITapGestureRecognizer 和 didSele

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