UITableView点击cell不走didSelect方法原因(补充)

随笔
今天开发中遇到一个很奇葩的问题,就是用tableView把界面写好之后,然后准备写点击事件。却发现死活不走didSelect这个协议方法。代理那些都设置了,直接断点打在那,却一直不走。开始认为是哪个控件把cell遮挡住了,然后我把所有的控件都注释掉,却发现还是不走。于是上网查了一下,有人说是因为这个方法


- (NSIndexPath *)tableView:(UITableView *)tableView

willSelectRowAtIndexPath:(NSIndexPath *)indexPath {

return nil;

}

我试了一下,这样的确不会走didSelect方法。因为我把自定义cell改为了UItableViewCell做实验。但是我代码中根本没写这个方法,所以不会是返回nil的原因。。然后我再仔细检查了一下,最终找到原因。
原因就是我在自定义tableViewCell中加了touchBegin这个方法

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    [_bgView removeFromSuperview];
}

把这个注释掉就可以了。。。

文/PlayCoders(简书作者)

原文链接:http://www.jianshu.com/p/eace2b0f50b1


我遇到的问题跟上面都不一样,我在仔细检查完代码后,又做了替换测试,始终认为代码没有任何问题。因为是使用xib开发,所以发现问题出在xib设置上


QQ20161020-0@2x.png

selection状态有以下三种,如果是第一种,DidSelect的方法是不走的
NO selection 无法选中
single Selection 单选
Muliti...Selcetion 多选
这些是tableview的属性,在代码里有设置
名字叫allowSelection开头的

这次也给了我很大的教训,有些时候问题不一定出现在代码中,因为使用了xib或者storyboard ,一些故障问题出现在这里也不足为奇了

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

推荐阅读更多精彩内容

  • 我们在上一篇《通过代码自定义不等高cell》中学习了tableView的相关知识,本文将在上文的基础上,利用sto...
    啊世ka阅读 1,566评论 2 7
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,294评论 4 61
  • 本文的重点并不仅是UITableView的基本使用方法,而是强调有关UITableView和UITableView...
    ac3阅读 38,283评论 17 51
  • 从小爱好绘画,未专业学习过!一直在自我摸索中!之前只是用单色铅笔绘画临摹!第一次自我尝试了一次彩铅手绘!颜色运用还...
    JandDan阅读 224评论 0 5
  • 我是一个平凡之极的女孩。跟很多同龄人一样有着疼爱自己的父母,大学刚刚毕业,没有背景没有经验。一切就这样开始了。...
    H半世轻浮阅读 351评论 0 0