关于通过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自己了

关于通过tag来找控件的一个小BUG_第1张图片
图1
图2
关于通过tag来找控件的一个小BUG_第2张图片
图3

你可能感兴趣的:(关于通过tag来找控件的一个小BUG)