关于通过tag来找控件的一个小BUG

分享BUG:

如图,下面的tableview,我左右滚动的时候,上面的“全部”,“视频”,"图片"也跟着滑动,但是在滑动的时候发生了崩溃,错误如图2,我就分析原因,我是左右滚动的时候调用scrollView的代理方法,如图3,是”viewwithtag“发生了问题,viewwithtag这个方法,它是一个递归搜索,就是搜索子控件,或者子控件的子控件的tag值获得这个view,其中包括view本身,所以我的BUG原因就知道了,我的button没有设置tag值,所以造成了崩溃,因为遍历按钮的时候没设置tag,第一个默认为0,所以跟self.view冲突了,返回的是个view,view当然找不到这个方法了,所以解决如下:

1.就是设置下button的tag,然后再到这里做出调整

2.在按钮监听方法里使用       " NSInteger index = [self.titlesView.subviews indexOfObject:button];"这个方法,避免了跟tag有接触,也不会递归view自己了

图1
图2
图3

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

推荐阅读更多精彩内容