關於tableView的那些坑(一)—— automaticallyAdjustsScrollViewInsets屬性

     

  最近用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

相關文章
相關標籤/搜索