automaticallyAdjustsScrollViewInsets,當設置爲YES時(默認YES),如果視圖裏面存在唯一一個UIScrollView或其子類View,那麼它會自動設置相應的內邊距,這樣可以讓scroll佔據整個視圖,又不會讓導航欄遮蓋。
當controller上的第一個子視圖不是scrollview以及其子類的時候,就會取消內邊距。此時原本全屏的scrollview設置的frame(0,0,self.view.frame.size.width,xx)就會從狀態欄開始算起,如果應用有導航欄的話,那麼就會遮蓋住視圖的64個高度
解決方案:
- self.automaticallyAdjustsScrollViewInsets = NO;禁用掉自動設置的內邊距,自行控制controller上index爲0的控件以及scrollview控件的位置
- self.edgesForExtendedLayout = UIRectEdgeNone;這種方式設置,不需要再重新設置index爲0的控件的位置以及scrollview的位置,(0,0)默認的依然是從導航欄下面開始算起
關聯鏈接:
http://stackoverflow.com/questions/21069258/automaticallyadjustsscrollviewinsets-not-working