情景:
一个scrollview上有多个tableview,当所有tableview都创建好以后,在某个tableview上滑动后,点击状态栏,tableview滑动到原位置
不同系统的差异:
当在ios10以下,这种效果就不起作用,原因是在当前控制器view上如果有多个scrollView或其子类,那么它的scrollsToTop属性是全部打开的,就不起作用了,要想起作用,当前控制器的view上只能有一个scrollView的该属性是打开的
而在IOS10以上,是可以的
解决差异:
不管在哪种系统上运行,统一做处理
如何处理:
1.先把大的容器scrollView的该属性禁止掉,设置为NO
2.在标题栏点击方法中做处理,for循环,取出子控制器,先判断它的viewDidLoad方法是否调用,如果没调用过,说明它的tableView没创建,直接continue,跳过下面的操作,进行下轮循环,如果创建过,与当前点击的索引比较,当前子控制器view属性设置为YES,否则设置为NO,循环结束为止
注意:
只针对创建好的tableview进行设置,如果view还没有创建就不做处理,因为本来没有创建出来,结果一处理反而创建出来了
网友评论