Swift UICollectionView、UITableView列点击事件与 UITapGestureRecognizer 点击事件冲突处理
来源:互联网 发布:上海近几年gdp数据 编辑:程序博客网 时间:2024/05/16 15:02
本文通过实际测试,解决了 Swift UICollectionView、UITableView列点击事件与 UITapGestureRecognizer 点击事件的冲突问题,亲测有效。
在 添加 UITapGestureRecognizer 事件 指定委托,在 shouldReceivetouch 委托中作判断处理,满足要求 返回 true,否则返回fasle。具体参考代码如下:
1、添加事件指定委托
let tapAction = UITapGestureRecognizer.init(target: self, action: #selector(hideKeyBoardAction(sender:))) tapAction.delegate = self self.view.addGestureRecognizer(tapAction)
2、实现委托
//MARK: - UIGestureRecognizerDelegate func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool { let touchClass = NSStringFromClass((touch.view?.classForCoder)!) let supClass = NSStringFromClass((touch.view?.superview!.superview?.classForCoder)!) if touchClass == "UITableView" || touchClass == "UICollectionView" || supClass == "UITableView" || supClass == "UICollectionView" { return false } return true }
如上代码,参考了众多相关博客,尝试得来。为的让同行少走弯路
1 0
- Swift UICollectionView、UITableView列点击事件与 UITapGestureRecognizer 点击事件冲突处理
- 解决UITapGestureRecognizer 与 UITableView 点击事件冲突
- UITapGestureRecognizer和UITableView点击事件冲突问题
- 解决UITapGestureRecognizer手势与UITableView的点击事件的冲突
- Tap手势与UITableView点击事件冲突解决办法
- UITapGestureRecognizer和UIButton的点击事件冲突的解决办法
- UITapGestureRecognizer和UIButton的点击事件冲突的解决办法
- UITapGestureRecognizer和UIButton的点击事件冲突解决
- iOS 6.0之前 UITapGestureRecognizer手势和UIButton 点击事件冲突
- UIView添加UITapGestureRecognizer和UITableView点击冲突
- UIImageview 点击事件 UITapGestureRecognizer传值
- UIImageview 点击事件 UITapGestureRecognizer传值
- uicollectionView点击事件
- item点击事件与checkBox点击冲突
- 手势事件与TableViewCell点击事件冲突
- touch事件与点击事件的冲突
- IOS开发之触摸与点击事件:UITapGestureRecognizer应用
- Android处理滑动与点击事件的冲突
- camel File 组件使用
- 登台阶
- Activity被系统回收怎么办
- 垂直居中position: relative
- guardian_robot系统移植手记
- Swift UICollectionView、UITableView列点击事件与 UITapGestureRecognizer 点击事件冲突处理
- 完美运动框架全面剖析
- 201409-3 字符串匹配
- Java IO学习总结
- Git分支
- 腾讯IVWEB团队:WebRTC 点对点直播
- 图论杂项
- 运维学习18
- 如何安全退出已调用多个 Activity 的 Application?