[解決済み】Swift 3でステータスバーのスタイルを設定する方法
質問
Xcode 8.0 beta 4を使用しています。
以前のバージョンでは、UIViewControllerにステータスバーのスタイルを設定するメソッドがありました。
public func preferredStatusBarStyle() -> UIStatusBarStyle
しかし、Swift 3では "Get ONLY varaiable" に変更されていることがわかりました。
public var preferredStatusBarStyle: UIStatusBarStyle { get }
UIViewControllerで使用するスタイルを指定するには?
どのように解決するのですか?
[UPDATED] Xcode 10+ & Swift 4.2+に対応しました。
iOS 7 以降はこの方法が推奨されます。
アプリケーションの
Info.plist
を設定します。
View controller-based status bar appearance
から
YES
.
オーバーライド
preferredStatusBarStyle
(
アップルドキュメント
) を各ビューコントローラーに追加します。例えば
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
もし、あなたが
preferredStatusBarStyle
は、ビューコントローラの内部で変化する何か (たとえば、スクロール位置や表示される画像が暗いかどうか) に基づいて異なる優先ステータスバーのスタイルを返すので、そのために
setNeedsStatusBarAppearanceUpdate()
というように、状態が変化したときに
バージョン7以前のiOSでは、非推奨の方法
Appleはこれを非推奨としました そのため、将来的には削除される予定です。次のiOSのバージョンが出たときに書き換えなくていいように、上記の方法を使いましょう。
アプリケーションがサポートされる場合 アプリケーションの
Info.plist
を設定します。
View controller-based status bar appearance
から
NO
.
で
appDelegate.swift
は、その
didFinishLaunchingWithOptions
関数で、追加します。
UIApplication.shared.statusBarStyle = .lightContent
ナビゲーションコントローラー用
ナビゲーションコントローラを使用していて、各ビューコントローラの優先ステータスバーのスタイルを使用し、設定したい場合
View controller-based status bar appearance
から
YES
を、アプリケーションの
info.plist
extension UINavigationController {
open override var preferredStatusBarStyle: UIStatusBarStyle {
return topViewController?.preferredStatusBarStyle ?? .default
}
}
関連
-
[iOS]コンパイルエラー:ld: アーキテクチャ x86_64 のシンボルが見つかりません。
-
制御が非ボイド関数の終了に達する
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] iOSのステータスバーの文字色を変更する方法
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] UILabelで複数行のテキストを表示する
-
[解決済み] iOS 7でステータスバーとナビゲーションバーがビューの境界を越えて表示される
-
[解決済み] 16進カラーバリューの使用方法
-
[解決済み] Swiftの配列を文字列に変換するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
IOS8 Development Guide Error Thread 1: signal SIGABRT
-
[解決済み] performSelectorのセレクタが不明なため、リークが発生する可能性があります。
-
[解決済み] Xcode 12、iOS Simulator用にビルドしても、iOS用にビルドされたオブジェクトファイルでは、アーキテクチャ「arm64」用にリンクされます。
-
[解決済み] UITextViewのサイズをコンテンツに合わせるには?
-
[解決済み] テキストフィールドを移動する方法(次へボタン/完了ボタン)
-
[解決済み] 「GCC使用時に「Xcode/iOSのライセンスに同意するには管理者権限が必要です。rootでsudoを使用して再実行してください。
-
[解決済み] Swiftを使用してアプリのバージョンとビルド番号を取得するにはどうすればよいですか?
-
[解決済み] iOS - UITextFieldの外側をタッチするとキーボードが外れる。
-
[解決済み] UITextFieldの最大文字数を設定します。
-
[解決済み] ぼかしの入ったオーバーレイビューの作成