您的位置:首页 > 其它

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方法,

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: