美文网首页
手势与UITableView

手势与UITableView

作者: 茗荚小草 | 来源:发表于2018-11-22 19:54 被阅读0次

    项目需要写一个地址选择的功能, 整体功能类似与京东的收货地址填写..

    主要是在一个原有的ViewController上, 添加一个蒙层

    +可以选择地址的页面, 中途遇到了一个问题. 就是地址选择页面的tableview没法响应手指的单击操作. 而双击,长按, 多手指点击是可以的.

    one

    首先我想到的是 是不是tableView的设置了代理方法,

    (BOOL)tableView:(UITableView*)tableView shouldHighlightRowAtIndexPath:(NSIndexPath*)indexPathNS_AVAILABLE_IOS(6_0);

    手动设置返回YES, 无效.

    two

    此处略过一万遍跟tableview相关的各种检测, 无效

    THREE

    我突然想到一句话"手势响应时大哥" 

    是不是我在蒙层上添加的gesture拦截了,table的点击操作?

    我先在手势代理方法 中对tableview及其cell做了判断. 对于列表的操作直接不响应, 无效. 

    然后我干脆直接注释掉了在页面上添加的手势, 还是无效

    -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

    forth

    临下班之际, 我突然想起来查看是不是父页面上有添加手势? 

    果然, 父控制器上有手势, 一口老血吐出来..

    总结

    果然理论还是很重要 , 不至于在找问题的时候横冲直撞.

    触摸事件的整个响应过程中, 确实手势是大哥, 有触摸事件穿起来时, 一但手势接受了事件, 就会取消掉其他点击事件的传递和处理. 

    但是需要注意的是, 对于手势和uibutton在一起的, 还是会优先响应button的.

    相关文章

      网友评论

          本文标题:手势与UITableView

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