tableView空白处添加点击事件而不影响cell中的一些按钮的事件的方法

一般点击事件大家首先都想到用重写touch函数来实现,一般在viewController中实现这个方法,点击背景时,这个方法就会执行,于是在tableviewController我们认为tableviewController下的tableview也会执行这个方法,其实不然,因为tableviewController也是由viewController封装而成,所以真正执行touchsBegan的还是这个viewController下的view。

通过touch点击函数不能实现,于是我们可以选用Tap手势来实现,代码如下

let tap = UITapGestureRecognizer(target: self, action: #selector(self.cancelFocus))
self.tableView.addGestureRecognizer(tap)
tap.delegate = self

记得让controller遵循UIGestureRecognizerDelegate,然后在后面实现函数

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
        if touch.view is UITableView {
            return true
        }
        return false
    }

这样我们就能实现在tableView上点击空白来进行我们想要的操作同事又不会影响对cell的点击。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容