2011-08-26 55 views
2

我有一個肖像iPhone應用程序,其中隱藏的導航欄控制視圖之間的流動。在一個視圖中,我需要將視圖旋轉90度至橫向,並且我想隱藏狀態欄。隱藏UIStatusBar在屏幕上留下空的藍條

問題是,當狀態欄被正確隱藏時,它會在狀態欄所在的屏幕頂部留下一個空的淺藍色條。我的觀點實際上就在這個欄下,填滿了屏幕。

我試過玩視圖的大小,但它已經設置爲屏幕的全尺寸。看起來這個藍色的酒吧在我看來是高於我的。

難道是因爲我隱藏了導航欄和狀態欄?

任何幫助,非常感謝。

Dunc

+0

什麼你的視圖的'frame'屬性是否返回? –

+0

我得到這個:frame =(-170 170; 480 320) – theDuncs

+0

你有沒有找到解決方案鄧肯?我在這一張上撕了我的頭髮 –

回答

3

如果您使用的是與它的導航欄一個UINavigationController隱藏(一UINavigationBar的什麼也不做它自己的),那麼你需要在窗口中調整導航控制器的框架,而不是導航控制器中視圖控制器視圖的框架。這是你的視圖層次:

window (root view) 
    - statusBar 
    - navigation controller's view 
    - view controller's view 

當你隱藏狀態欄試試這個在您的視圖控制器:

[[[self navigationController] view] setFrame:[[UIScreen mainScreen] bounds]]; 

或者,如果你想使用窗口的框架:

[[[self navigationController] view] setFrame:[[[UIApplication sharedApplication] keyWindow] bounds]]; 
+0

謝謝卡梅隆。剛剛嘗試過。它對UI顯示沒有任何影響。在隱藏狀態欄之前和之後,導航控制器的框架設置爲:frame =(0 0; 320 480)。還有什麼你認爲我應該檢查的?我將查看視圖層次結構的所有框架設置。 – theDuncs