問題タブ [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.
ios - UIImagePickerController vs ステータスバー iOS8
UIImagePickerController
デフォルトのステータスバーの動作をオーバーライドしようとしてサブクラス化し、結果がまちまちです。私のアプリは、View Controller ベースのステータス バーの外観を使用しています。
サブクラス化しないと、ピッカーが閉じられたときにステータスバーのスタイルがDefault
(暗い)に変更されることがわかりました。最初のView Controllerでまだ試したことはありません。また、表示中にピッカーがステータス バーを非表示にして上にスライドすると、初期ビュー コントローラーのナビゲーション バーが高さ 64 から 44 にスライドします。
したがって、UIImagePickerController
サブクラスでステータスバーのスタイルを維持しLightContent
、スライドナビゲーションバーを回避するために、ピッカーを表示している間ステータスバーを表示したままにし、次に非表示にしviewDidAppear:
ます。
最初の興味深い点はpreferredStatusBarStyle
、ピッカーのサブクラスでは、オーバーライドして nil を返すprefersStatusBarHidden
までまったく呼び出されなかったということです。これは、通常、 aがそれらをオーバーライドしており、おそらく内部の子ビューコントローラーを返すことを示しているようです。のビュー階層を見ると、確かに子があり、それに対応するコントローラーが存在する可能性があります。残念ながら、このコントローラーをオーバーライドすることはできません。childViewControllerForStatusBarStyle
childViewControllerForStatusBarHidden
UIImagePickerController
viewDidAppear:
PLImagePickerCameraView
childViewControllerFor...
これらのメソッドをオーバーライドすると、preferredStatusBarStyle
とprefersStatusBarHidden
の間で呼び出され、実際に と のステータス バーを表示したままにすることができます。2つ目の興味深い点は、アニメーションの前にステータス バーが短時間点滅することです。それを防ぐように思われるinまたは他の場所への余分な呼び出しはありません。viewWillAppear:
viewDidAppear:
LightContent
presentViewController
setNeedsStatusBarAppearanceUpdate
viewWillAppear:
viewDidLoad:
3 番目の興味深い点は、解雇中にバーのスタイルがまだ暗く設定されてsetNeedsStatusBarAppearanceUpdate
いるviewWillDisappear:
ことviewDidDisappear:
です。
tl;dr - オンデマンドでステータス バーを非表示にして表示するようにオーバーライドUIImagePickerController
すると、かなりうまく機能することがわかりましたが、バー スタイルの設定には問題があります。ピッカークラスまたはUINavigationController
それ自体の何かが自動的にDefault
バースタイルを優先しており、却下時にそれに切り替わると、元に戻すのが難しいようです。
質問UIImagePickerController がステータスバーの外観を壊す を見たことがありますが、そこで見たものはまだ役に立たず、iOS8.1 では修正されていません。ピッカーを黒に設定するとうまくいくと確信してnavigationBar.barStyle
いましたが、サイコロはありませんでした。アイデアはありますか?
(また、ステータスバーが非表示のときに のナビゲーションバーが 44 の高さまでスライドするのを防ぐためのヒントUINavigationController
は役に立ちます)
ios - ステータスバーを単色に設定するか、サブビューをステータスバーに追加する必要があります
アプリ全体でナビゲーション バーを使用しUINavigationController
て表示していますが、ユーザーにステータス バーを表示したくありません。私の問題は、ステータス バーを非表示にすると、ナビゲーション バーのサイズが十分に大きくなく、完全なナビゲーション バーのように見えないことです。
次のいずれかを実行したいと思います。
ステータスバーを単色にします。これはステータス バーの内容を表示せず、文字どおり単なる色になります。
ステータス バーにサブビューを追加して、その「ステータス」コンテンツをすべてカバーできるようにします。このサブビューは単色の UIView になります。
これにより、実際にステータス バーのコンテンツを表示しなくても、上部にフル サイズの「ナビゲーション バー」を表示できます。
編集:
次のUIWindow
回避策を試してみましたが、うまくいきませんでした。次のコードは、ビュー コントローラーのviewWillAppear:
メソッドの 1 つの中で呼び出されています。
これを機能させることはできません。ステータスバーを非表示にするか、表示する必要がありますか? 上記のコードで非表示と表示の両方を試みましたが、赤い色UIWindow
が画面に表示されません。
ios - バックグラウンドからフォアグラウンドに移行するときに iOS アプリのステータス バーが更新されない
私はコルドバ ios アプリに取り組んでいます。ステータス バーでこの奇妙な動作に直面しています。
「アプリをバックグラウンドにプッシュして Wi-Fi をオンにするか、モバイルを機内モードにするか、Bluetooth を有効にすると、これらすべてのアクション ステータスがステータス バーに反映されますが、アプリをバックグラウンド状態からフォアグラウンド状態に開くと、アプリのステータス バーに常に前の状態が表示される. Wi-Fi のオン/オフ、機内モードのオン/オフに関連する変更がステータス バーに表示されず、アプリのステータス バーに何も反映されません。
しかし、他のアプリを確認すると、すべての変更がその瞬間にアプリのステータスバーに反映されています。
また、もう1つ、アプリをフォアグラウンドに保ち、ControlCenterステータスバーを使用してwifiまたは機内モードを変更すると、その瞬間に更新されます。
バックグラウンドからフォアグラウンドになると、アプリのステータスバーはどうなりますか?
ios - シミュレーターでアクティブ化すると、iOS の通話中ステータス バーが表示されません。これは正常な動作ですか?
シミュレーターでアクティブにすると、通話中のステータス バーが表示されません。
私のアプリでは通常のステータス バーが常に非表示になっていますが、これは正常な動作ですか?
通話中のステータス バーがまったく表示されない場合、アプリは拒否されますか?
ios - iOS iPhone 6 および 6+ のステータスバーを隠す
iPhone 6および6+でのみステータスバーを非表示にしようとしていますが、これはこれまで試したことです。
xcode7 - Xcode 7 および iOS 7.x シミュレーター
Xcode 7 にアップデートした後、iOS 7.x シミュレーターが表示されません。シミュレーターは Xcode 7 でサポートされなくなりましたか? iOS 7.x シミュレーターを追加する公式の方法はありますか?