最近用tabbar来切换控制器,用childViewController来实现多控制器管理,多列表切换,在子控制器中设置了automaticallyAdjustsScrollViewInsets属性为NO,可是在切换的父控制器时候,切回来的时候仍是会自动往下掉,花了点时间,发现本身对这个属性理解的不够好:spa
往下掉其实就是控制器的automaticallyAdjustsScrollViewInsets这个属性在捣鬼,有导航栏的scrollView会默认把scrollView的显示往下移动64,就是导航栏的高度,因此要本身调整的话设置为NO就能够,可是这里涉及到父控制器和子控制器的话,我发现我当时只是设置了childVC的automaticallyAdjustsScrollViewInsets为NO,再在初始化父控制器时候设置其automaticallyAdjustsScrollViewInsets为NO便可。code
在父控制器中:blog
1 - (void)viewDidLoad { 2 [super viewDidLoad]; 3 /** 4 * 在childVC里含有table的时候,为了本身设置被导航栏的影响内间距, 5 * 在福控制器和自控制器中都须要设置automaticallyAdjustsScrollViewInsets为NO; 6 * 否则只设置childVC的话,在切换父控制器时候,仍是会受到父控制器的自动调整的印象,使得table的显示往下掉导航栏的高度 7 */ 8 self.automaticallyAdjustsScrollViewInsets = NO; 9 10 [self createMid]; 11 }
子控制器已经交给父控制器管理了,因此可能无需设置automaticallyAdjustsScrollViewInsets吧,在个人实验里是不须要的。table