iPhoneでスプラッシュ画面を表示するときにステータスバーを非表示にしてから、アプリケーションで再度表示する方法はありますか?
iPhoneでスプラッシュ画面を表示するときにステータスバーを非表示にしてから、アプリケーションで再度表示する方法はありますか?
回答:
Info.plistファイルのStatus bar is initially hidden
値がに設定されている場合YES
、アプリケーションの読み込み中は表示されないことは間違いありません。アプリケーションがロードされると、UIApplicationのsetStatusBarHidden:animated:
メソッドを使用してステータスバーを再表示できます。
[[UIApplication sharedApplication] setStatusBarHidden:NO];
しても安全です-application:didFinishLaunchingWithOptions:
.plistの正しいキーは「UIStatusBarHidden」で、右側をチェックします。「ステータスバーは最初は非表示」になり、その後自動的にチェックされます。私の練習では、非表示にすることで、ステータスバーの表示/非表示をどこでも制御できます。
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 0, 320, 480); //full screen.
表示時:
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460); //move down 20px.
これがお役に立てば幸いです。
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
float width = ((UIScreen *)[UIScreen mainScreen]).bounds.size.width;
float height = (((UIScreen *)[UIScreen mainScreen]).bounds.size.height - 20);
[UIApplication sharedApplication].keyWindow.frame = CGRectMake(0, 20, width, height);
setStatusBarHidden:withAnimation
NSIntegertypedefを予期していますUIStatusBarAnimation
。の代わりにNO
、UIStatusBarAnimationNone
表示->プロパティリストタイプ-> iPhoneInfo.plist。ここで、「ステータスバーは最初は非表示です」がチェックされた状態で新しいアイテムを作成します。
Daveの回答をフォローアップすると、iOS 4.3では「ステータスバーが最初は非表示になっています」というキーは機能しませんでしたが、「UIStatusBarHidden」というキーを使用してタイプをブール値に設定し、チェックボックスをオンにするとうまくいきました。
この開発者の記事は私をInfo.plistキーに導き、それを隠すための同等のキーを見つけるのはそれほど難しくありませんでした。
興味深いことに、「UIStatusBarStyle」が機能するには、列挙名を文字列として使用する必要があります。
非推奨です
setStatusBarHidden:(BOOL) animated:(BOOL)
正しいです
setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)
UIStatusBarAnimationは次のようになります。
UIStatusBarAnimationNoneまたはUIStatusBarAnimationFadeまたはUIStatusBarAnimationSlide
これはinfo.plistで私のために働いた:
"View controller-based status bar appearance" -> set to NO
XMLエディターの場合〜の最初の子に追加
<key>UIStatusBarHidden</key>
<true/>