automaticallyAdjustsScrollViewInsets解析

automaticallyAdjustsScrollViewInsets,當設置爲YES時(默認YES),如果視圖裏面存在唯一一個UIScrollView或其子類View,那麼它會自動設置相應的內邊距,這樣可以讓scroll佔據整個視圖,又不會讓導航欄遮蓋。

當controller上的第一個子視圖不是scrollview以及其子類的時候,就會取消內邊距。此時原本全屏的scrollview設置的frame(0,0,self.view.frame.size.width,xx)就會從狀態欄開始算起,如果應用有導航欄的話,那麼就會遮蓋住視圖的64個高度

解決方案:

  1. self.automaticallyAdjustsScrollViewInsets = NO;禁用掉自動設置的內邊距,自行控制controller上index爲0的控件以及scrollview控件的位置
  2. self.edgesForExtendedLayout =  UIRectEdgeNone;這種方式設置,不需要再重新設置index爲0的控件的位置以及scrollview的位置,(0,0)默認的依然是從導航欄下面開始算起

關聯鏈接:
http://stackoverflow.com/questions/21069258/automaticallyadjustsscrollviewinsets-not-working




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章