iPhoneにスプラッシュ画面が表示されたときにステータスバーを非表示にする方法は?


85

iPhoneでスプラッシュ画面を表示するときにステータスバーを非表示にしてから、アプリケーションで再度表示する方法はありますか?

回答:


191

Info.plistファイルのStatus bar is initially hidden値がに設定されている場合YES、アプリケーションの読み込み中は表示されないことは間違いありません。アプリケーションがロードされると、UIApplicationのsetStatusBarHidden:animated:メソッドを使用してステータスバーを再表示できます。


1
info.plistにはそのようなオプションはありません。手動で追加する方法はありますか
Rahul Vyas

3
@Rahulはファイルの最後の行を選択し、行の右端にあるプラスボタンをクリックします。次に、自分で入力します。
Dave DeLong

2
ステータスバーを再表示するメソッドは、setStatusBarHidden:withAnimation:
SargeATM 2010

2
手動で追加する場合は、BBEditなどのテキストエディターでplistを編集し、次の行を追加できます:<key> UIStatusBarHidden </ key> <true /> </ dict>行のすぐ上。または、Xcodeでplistを右クリックし、[名前を付けて開く...ソースコード]を選択して、テキストとして編集します。
JScarry 2013年

9
「アプリケーションがロードされたら、ステータスバーを再表示できます」誰かが混乱していないかどうかを明確にするために、次のように設定[[UIApplication sharedApplication] setStatusBarHidden:NO];しても安全です-application:didFinishLaunchingWithOptions:
Ryan Romanchuk 2013年

48

.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.

これがお役に立てば幸いです。


CGRectMakeのサイズを任意のタイプのiPhoneに動的に設定するには: [[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);
reinaldoluckman

UIApplicationは、BOOLではなく、2番目の引数にsetStatusBarHidden:withAnimationNSIntegertypedefを予期していますUIStatusBarAnimation。の代わりにNOUIStatusBarAnimationNone
ユーザー

23

表示->プロパティリストタイプ-> iPhoneInfo.plist。ここで、「ステータスバーは最初は非表示です」がチェックされた状態で新しいアイテムを作成します。


6

Daveの回答をフォローアップすると、iOS 4.3では「ステータスバーが最初は非表示になっています」というキーは機能しませんでしたが、「UIStatusBarHidden」というキーを使用してタイプをブール値に設定し、チェックボックスをオンにするとうまくいきました。

http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html#//apple_ref/doc/uid/TP40009254-SW4

この開発者の記事は私をInfo.plistキーに導き、それを隠すための同等のキーを見つけるのはそれほど難しくありませんでした。

興味深いことに、「UIStatusBarStyle」が機能するには、列挙名を文字列として使用する必要があります。


6

Xcode 5以降の場合、次のように設定できます。

コントローラベースのステータスバーの外観をNOに表示

info.plist、またはメインプロジェクトの情報タブ。

xcodeの情報設定の例


3

この1行をメインの.mviewDidloadメソッドに書き込みます

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

または、ワークスペースのプロジェクトサポートファイルフォルダーからinfo.plistファイルを選択します

statusbarinitialyhiddenをYESに設定します


2

非推奨です

setStatusBarHidden:(BOOL) animated:(BOOL) 

正しいです

setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)

UIStatusBarAnimationは次のようになります。

UIStatusBarAnimationNoneまたはUIStatusBarAnimationFadeまたはUIStatusBarAnimationSlide


1

これはinfo.plistで私のために働いた:

"View controller-based status bar appearance"  -> set to NO


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.