2

次の問題に直面しています。たとえば、modalViewControllerを表示して、画面全体をカバーするようにしようとしています。

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

その結果、コントローラーは画面全体をカバーせず、ステータスバーが上部に表示されます。なぜこれが起こるのか私は本当に理解していません。

4

2 に答える 2

6

プロパティはステータスバーを非表示にしません。wantsFullScreenLayoutこれにより、View Controllerがその背後に配置されます(また、ナビゲーションバーなどの背後に配置されます)。この例として、組み込みの写真アプリがあります。このアプリでは、ステータスバーとナビゲーションバーの後ろに写真が表示されます。

ここに画像の説明を入力してください

modalPresentationStyleモーダルビューコントローラを全画面表示にするには、ビューコントローラのプロパティをに設定する必要がありますUIModalPresentationFullScreen。これを有効にすると、おそらく設定する必要がないか、設定したくありませんwantsFullScreenLayout

ステータスバーを非表示にするには、のsetStatusBarHidden:withAnimation:方法を使用する必要がありUIApplicationます。

于 2012-11-19T14:28:01.703 に答える
1

これを追加してみてください:

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

また、常に非表示にしたい場合、およびアプリケーションの起動時に、plistファイルでにを追加Status bar initially hiddenYESます。

于 2012-11-19T14:23:14.917 に答える