gesture手势点击与tableview touch点击冲突问题
2015-11-03 12:50
369 查看
今天遇到一个问题,点击tableview 没有 执行
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
,响应事件响应到tableview 下面的view 的手势 tap事件了。后来发现原因是UITapGestureRecognizer截获了touch事件,导致didSelectRowAtIndexPath方法无法响应
解决方法:
重写UIGestureRecognizerDelegate中的
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool方法,
再次调试,这回didSelectRowAtIndexPath响应了,解决UITapGestureRecognizer手势截获Touch事件的问题。也就是说不会响应tap 手势了。(我这写的就是个坑啊)
参考文章:http://m.blog.csdn.net/blog/dragonsilaya0727/21798597
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
,响应事件响应到tableview 下面的view 的手势 tap事件了。后来发现原因是UITapGestureRecognizer截获了touch事件,导致didSelectRowAtIndexPath方法无法响应
解决方法:
重写UIGestureRecognizerDelegate中的
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool方法,
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool { print("-------------------\(NSStringFromClass((touch.view?.classForCoder)!))-------") print("----------********---------\(object_getClass(touch.view)))-------") if NSStringFromClass((touch.view?.classForCoder)!) == "UITableViewCellContentView"{ return false } return true }
再次调试,这回didSelectRowAtIndexPath响应了,解决UITapGestureRecognizer手势截获Touch事件的问题。也就是说不会响应tap 手势了。(我这写的就是个坑啊)
参考文章:http://m.blog.csdn.net/blog/dragonsilaya0727/21798597
相关文章推荐
- java实现List中对象排序的方法
- JDBC:数据库分页语句
- 【Java并发编程实战】-----“J.U.C”:CyclicBarrier
- Java += 操作符实质
- Linux设备驱动之四----带中断的驱动程序
- xcode build setting说明
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver(Servlet链接mysql数据库失败解决方法)
- JDBC:调用函数&存储过程
- python 交互模式 方向键乱码问题解决
- no cortex-m sw device found
- java基于线程池和反射机制实现定时任务完整实例
- 设置 QComboBox的下拉框Item高度
- 原始 XML 的读写
- 排序算法
- Android QLite 分页查询 增删改查
- 鸟哥的Linux私房菜(基础篇)-第四章、安装 CentOS 5.x 与多重开机小技巧
- Android 中加载v4包里面的fragment
- 玩转Visual Studio-理解微软的预编译头技术
- Android操作联系人
- 业精于勤荒于嬉,行成于思毁于随