2012-11-19 59 views
2

我面臨着以下的問題,我想提出一個modalViewController並使其覆蓋整個屏幕,例如:IOS wantsFullScreenLayout狀態欄可見

[controller setWantsFullScreenLayout:yes]; 
[myNavController presentModalViewController:controller animated:yes]; 

的結果是,控制器不覆蓋整個屏幕和狀態欄在頂部可見。 我不明白爲什麼會發生這種情況。

回答

6

wantsFullScreenLayout屬性不隱藏狀態欄,它使得視圖控制器在它後面展開(也可以放在導航欄之類的東西后面)。這方面的一個例子是內置的照片應用程序,其中一個畫面顯得落後狀態欄和導航欄:

enter image description here

要進行模態視圖控制器全屏你需要設置你的觀點的modalPresentationStyle財產控制器到UIModalPresentationFullScreen。啓用此功能後,您可能不需要或不想設置wantsFullScreenLayout

要隱藏你需要使用的UIApplicationsetStatusBarHidden:withAnimation:法的狀態欄。

+2

調用wantsFullScreenLayout之前呈現模式的看法是強制性的。否則,視圖不會被調整爲全屏。 –

+0

Borut是正確的。嘗試並在iOS 5和iPhone 6上測試。 –

1

嘗試添加此:

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO]; 

另外,如果你希望它在任何時候都隱藏,並且應用程序啓動時,在你的plist文件,添加到Status bar initially hiddenYES