我使用UINavigationController作爲我的根視圖並將UIViewController實例推送到堆棧上。UINavigationController NavigationBar在視圖頂部的額外空間
我的視圖控制器都來自一個基地,它在viewWillAppear期間繪製徑向漸變背景。
將NavigationBar.translucent屬性設置爲NO/false時,將第一個視圖控制器推入堆棧,將視圖框的y分量設置爲NavigationBar的高度,從而有效地在導航欄和視圖內容之間創建空白區域。後續的視圖控制器被推入堆棧不存在這個問題。
我覆蓋了我的導航控制器中的pushViewController,並且如果navigationController.viewControllers數組爲空,請將NavigationBar.translucent設置爲YES。這樣做會擺脫第一個視圖控制器上的空間,但這不是我想要的,因爲我不想要半透明的導航欄。
我在不同的生命週期階段打印出視圖的框架,只有第一個視圖有y組件修改,其他視圖有框架y設置爲0.我不修改任何視圖控制器中的根視圖框架。
我的問題是,我做錯了什麼?我知道這是第一個視圖控制器的問題,因爲我的覆蓋,但因爲我沒有看到噸這個職位,我認爲我做錯了什麼。
我的問題是與此類似:Container View getting pushed down as if it had a UINavigationBar?
可以告訴你的截圖嗎? –
下面是截圖:https://dl.dropboxusercontent.com/u/6349532/screen.png(沿着頂部的黑色是缺口。) – Cameron