天天看點

iOS scrollView及其子類(UITableView等等)内容偏下

在iOS7以前,狀态欄是獨立于viewController之外的。從iOS7開始,viewController的view都預設全屏,包括的狀态欄。

假設你的viewController中有一個UIScrollView的對象,而這個viewController又沒有在UINavigationController的棧中,那麼,很容易出現scrollView的内容往下偏移的情況。至于偏移了多少,我們借助reveal這個界面工具,能夠輕而易舉的獲知。 我遇到的情況就是偏移了20個點,借助reveal,我發現scrollView的contentInset為20.

iOS scrollView及其子類(UITableView等等)内容偏下

通過設定viewController.automaticallyAdjustsScrollViewInsets = NO,可以避免這個問題。

真是不知道這個自動調整什麼時候會有用,誰會做一個沒有導航欄同時以scrollView鋪滿的界面呢?

還有一個我遇到的因為viewController.automaticallyAdjustsScrollViewInsets引起的問題。

視圖層次如下。

screen

1.navigationBar

2.self.view

1.tableView

2.customTabbar

在點選表格後,push進入到另外一個viewController,在push回來的時候,表格最後一行的位子就偏下,被customTabbar擋住。

同樣,設定為NO,解決。

就我遇到的這兩個情形而言,viewController.automaticallyAdjustsScrollViewInsets = YES會使scrollView的inset盡量的鋪滿螢幕。

如果scrollView上面沒有導航欄,就會自動讓出20個點給狀态來,如果下面沒有UITabbar,就會直接鋪到螢幕底部。