問題タブ [ios7-statusbar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
986 参照

ios - UIImagePickerController vs ステータスバー iOS8

UIImagePickerControllerデフォルトのステータスバーの動作をオーバーライドしようとしてサブクラス化し、結果がまちまちです。私のアプリは、View Controller ベースのステータス バーの外観を使用しています。


サブクラス化しないと、ピッカーが閉じられたときにステータスバーのスタイルがDefault(暗い)に変更されることがわかりました。最初のView Controllerでまだ試したことはありません。また、表示中にピッカーがステータス バーを非表示にして上にスライドすると、初期ビュー コントローラーのナビゲーション バーが高さ 64 から 44 にスライドします。

したがって、UIImagePickerControllerサブクラスでステータスバーのスタイルを維持しLightContent、スライドナビゲーションバーを回避するために、ピッカーを表示している間ステータスバーを表示したままにし、次に非表示にしviewDidAppear:ます。

最初の興味深い点preferredStatusBarStyle、ピッカーのサブクラスでは、オーバーライドして nil を返すprefersStatusBarHiddenまでまったく呼び出されなかったということです。これは、通常、 aがそれらをオーバーライドしており、おそらく内部の子ビューコントローラーを返すことを示しているようです。のビュー階層を見ると、確かに子があり、それに対応するコントローラーが存在する可能性があります。残念ながら、このコントローラーをオーバーライドすることはできません。childViewControllerForStatusBarStylechildViewControllerForStatusBarHiddenUIImagePickerControllerviewDidAppear:PLImagePickerCameraView

childViewControllerFor...これらのメソッドをオーバーライドすると、preferredStatusBarStyleprefersStatusBarHiddenの間で呼び出され、実際に と のステータス バーを表示したままにすることができます。2つ目の興味深い点は、アニメーションの前にステータス バーが短時間点滅することです。それを防ぐように思われるinまたは他の場所への余分な呼び出しはありません。viewWillAppear:viewDidAppear:LightContentpresentViewControllersetNeedsStatusBarAppearanceUpdateviewWillAppear:viewDidLoad:

3 番目の興味深い点は、解雇中にバーのスタイルがまだ暗く設定されてsetNeedsStatusBarAppearanceUpdateいるviewWillDisappear:ことviewDidDisappear:です。


tl;dr - オンデマンドでステータス バーを非表示にして表示するようにオーバーライドUIImagePickerControllerすると、かなりうまく機能することがわかりましたが、バー スタイルの設定には問題があります。ピッカークラスまたはUINavigationControllerそれ自体の何かが自動的にDefaultバースタイルを優先しており、却下時にそれに切り替わると、元に戻すのが難しいようです。

質問UIImagePickerController がステータスバーの外観を壊す を見たことがありますが、そこで見たものはまだ役に立たず、iOS8.1 では修正されていません。ピッカーを黒に設定するとうまくいくと確信してnavigationBar.barStyleいましたが、サイコロはありませんでした。アイデアはありますか?

(また、ステータスバーが非表示のときに のナビゲーションバーが 44 の高さまでスライドするのを防ぐためのヒントUINavigationControllerは役に立ちます)

0 投票する
2 に答える
686 参照

ios - ステータスバーを単色に設定するか、サブビューをステータスバーに追加する必要があります

アプリ全体でナビゲーション バーを使用しUINavigationControllerて表示していますが、ユーザーにステータス バーを表示したくありません。私の問題は、ステータス バーを非表示にすると、ナビゲーション バーのサイズが十分に大きくなく、完全なナビゲーション バーのように見えないことです。

次のいずれかを実行したいと思います。

  1. ステータスバーを単色にします。これはステータス バーの内容を表示せず、文字どおり単なる色になります。

  2. ステータス バーにサブビューを追加して、その「ステータス」コンテンツをすべてカバーできるようにします。このサブビューは単色の UIView になります。

これにより、実際にステータス バーのコンテンツを表示しなくても、上部にフル サイズの「ナビゲーション バー」を表示できます。

編集:

次のUIWindow回避策を試してみましたが、うまくいきませんでした。次のコードは、ビュー コントローラーのviewWillAppear:メソッドの 1 つの中で呼び出されています。

これを機能させることはできません。ステータスバーを非表示にするか、表示する必要がありますか? 上記のコードで非表示と表示の両方を試みましたが、赤い色UIWindowが画面に表示されません。

0 投票する
0 に答える
166 参照

ios - バックグラウンドからフォアグラウンドに移行するときに iOS アプリのステータス バーが更新されない

私はコルドバ ios アプリに取り組んでいます。ステータス バーでこの奇妙な動作に直面しています。

「アプリをバックグラウンドにプッシュして Wi-Fi をオンにするか、モバイルを機内モードにするか、Bluetooth を有効にすると、これらすべてのアクション ステータスがステータス バーに反映されますが、アプリをバックグラウンド状態からフォアグラウンド状態に開くと、アプリのステータス バーに常に前の状態が表示される. Wi-Fi のオン/オフ、機内モードのオン/オフに関連する変更がステータス バーに表示されず、アプリのステータス バーに何も反映されません。

しかし、他のアプリを確認すると、すべての変更がその瞬間にアプリのステータスバーに反映されています。

また、もう1つ、アプリをフォアグラウンドに保ち、ControlCenterステータスバーを使用してwifiまたは機内モードを変更すると、その瞬間に更新されます。

バックグラウンドからフォアグラウンドになると、アプリのステータスバーはどうなりますか?

0 投票する
1 に答える
248 参照

ios - シミュレーターでアクティブ化すると、iOS の通話中ステータス バーが表示されません。これは正常な動作ですか?

シミュレーターでアクティブにすると、通話中のステータス バーが表示されません。

私のアプリでは通常のステータス バーが常に非表示になっていますが、これは正常な動作ですか?

通話中のステータス バーがまったく表示されない場合、アプリは拒否されますか?

0 投票する
5 に答える
623 参照

ios - iOS iPhone 6 および 6+ のステータスバーを隠す

iPhone 6および6+でのみステータスバーを非表示にしようとしていますが、これはこれまで試したことです。

0 投票する
1 に答える
108 参照

xcode7 - Xcode 7 および iOS 7.x シミュレーター

Xcode 7 にアップデートした後、iOS 7.x シミュレーターが表示されません。シミュレーターは Xcode 7 でサポートされなくなりましたか? iOS 7.x シミュレーターを追加する公式の方法はありますか?

0 投票する
2 に答える
1188 参照

ios - トップバーの下にあるTableViewスクロール

アプリを iOS 7 の新しい GUI に更新してから、解決できない問題があります。

私のアプリは、スクロール可能な TableView で構成されています。問題は、TableView が下にあるトップ バーをスクロールすることです。これは、テーブルがトップ バーを考慮せず、上部まで伸びて見にくいことを意味します。

ここに画像の説明を入力

「トップバーの下のエッジを拡張」のチェックを外してみましたが同じです。

どうすればこれを解決できますか?