UIScrollView自動向下偏移的問題

weixin_34050427發表於2017-06-09

問題:無論在storyboard上怎樣佈局良好,模擬器上都會向下偏移64
解決方法:

- (void)viewDidLoad {  
    [super viewDidLoad];  
    self.automaticallyAdjustsScrollViewInsets=NO;  
}  

有必要說一下產生這個的原因:
在IOS7和以後的版本里,UIViewController 類裡面增加了 automaticallyAjustScrollViewInsert 屬性。先從字面上翻譯一下:自動調整插入的滑動檢視。
官方文件是這樣解釋的:

Discussion
Default value is YES, which allows the view controller to adjust its scroll view insets in response to the screen areas consumed by the status bar, navigation bar, and toolbar or tab bar. Set to NO if you want to manage scroll view inset adjustments yourself, such as when there is more than one scroll view in the view hierarchy.
翻譯一下:預設值是YES,選擇YES表示你允許檢視控制器調整它內部插入的滑動檢視來應對狀態列,導航欄,工具欄,和標籤欄所消耗的螢幕區域。如果你設定為NO呢,就代表你要自己調整你插入的滑動檢視,比如你的檢視層次裡面有多於一個的滑動檢視。
這大概是個什麼意思呢,就是你的檢視控制器在沒經你允許的情況下調整你的控制元件位置了,所以你要想自己調,對它設定NO就可以了。

相關文章