[解決済み] iOS 13でダークモードをオプトアウトすることは可能ですか?
質問
私のアプリの大部分は、ネイティブの実装ではまだ利用できない機能を提供するためのWebビューで構成されています。Webチームには、Webサイトにダークテーマを実装する計画がありません。そのため、私のアプリは、iOS 13のダークモードのサポートで少しハーフ/ハーフに見えることになります。
ダークモードへの対応をやめ、Webサイトのテーマに合わせて常にライトモードで表示することは可能でしょうか?
解決方法を教えてください。
まずはこちら Appleのエントリ ダークモードのオプトアウトに関するものです。 このリンク先のコンテンツは、Xcode 11 & iOS 13向けに書かれています。 :
info.plistファイルによるアプリ全体の操作(Xcode 12)
info.plistファイルでは、以下のキーを使用してください。
UIUserInterfaceStyle
という値を割り当てます。
Light
.
は
XML
には
UIUserInterfaceStyle
を割り当てます。
<key>UIUserInterfaceStyle</key>
<string>Light</string>
UIUserInterfaceStyleに関するAppleのドキュメント
ビルド設定のinfo.plistでアプリ全体を表示(Xcode 13)
windowプロパティでアプリ全体のウィンドウを表示
を設定することができます。
overrideUserInterfaceStyle
に対して、アプリの
window
変数を使用します。これは、ウィンドウ内に表示されるすべてのビューに適用されます。これはiOS 13で利用可能になったので、以前のバージョンに対応したアプリの場合は、利用可能性チェックを入れる必要があります。
プロジェクトがどのように作成されたかによって、これは
AppDelegate
または
SceneDelegate
ファイルを作成します。
if #available(iOS 13.0, *) {
window?.overrideUserInterfaceStyle = .light
}
個々のUIViewControllerまたはUIView
を設定することができます。
overrideUserInterfaceStyle
に対して
UIViewController
または
UIView
's
overrideUserInterfaceStyle
変数を使用します。iOS 13から利用可能になったので、それ以前のバージョンに対応したアプリでは、利用可否のチェックを入れる必要があります。
スウィフト
override func viewDidLoad() {
super.viewDidLoad()
// overrideUserInterfaceStyle is available with iOS 13
if #available(iOS 13.0, *) {
// Always adopt a light interface style.
overrideUserInterfaceStyle = .light
}
}
Objective-Cの貧しい人々のために
if (@available(iOS 13.0, *)) {
self.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
}
に対して設定すると
UIViewController
の場合、ビューコントローラとその子オブジェクトは、定義されたモードを採用します。
に対して設定すると
UIView
の場合、ビューとその子は定義されたモードを採用します。
overrideUserInterfaceStyleに関するAppleのドキュメント
SwiftUIビューによる個別ビュー
を設定することができます。
preferredColorScheme
のどちらかになります。
light
または
dark
. 提供された値は、プレゼンテーションのための配色を設定します。
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Light Only")
.preferredColorScheme(.light)
}
}
preferredColorSchemeに関するAppleの文書
クレジット アロン・ネルソン , ライムンダス・サカラウスカス , NSLeader と アーマディ この回答は、彼らのフィードバックによって改善されました。
関連
-
[iOS]コンパイルエラー:ld: アーキテクチャ x86_64 のシンボルが見つかりません。
-
iOS classic error Undefined symbols for architecture XXX:
-
[解決済み] シミュレーターiOS 13でダークモードを使用するには?
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] NSOperationとGrand Central Dispatchの比較
-
[解決済み] iOS 13でダークモードをオプトアウトすることは可能ですか?
-
[解決済み] UIImageのサイズを変更する最も簡単な方法?
-
[解決済み] Swiftの配列を文字列に変換するには?
-
[解決済み] UITableView - トップにスクロールする
-
[解決済み] セキュリティで保護されたWebサービスにもアクセスするiOSアプリで、Facebook認証を行うためのデザイン
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
iOSコンパイルポッドでエラー CocoaPods could not find compatible versions for pod "XXXXX" が報告される。
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] Xcode 12、iOS Simulator用にビルドしても、iOS用にビルドされたオブジェクトファイルでは、アーキテクチャ「arm64」用にリンクされます。
-
[解決済み] Unwind segueは何に使うのか、どう使うのか?
-
[解決済み] UITextViewのサイズをコンテンツに合わせるには?
-
[解決済み] iOSで現在のデバイスの言語を取得するには?
-
[解決済み] コア・データ エンティティの全インスタンスを削除する最短の方法
-
[解決済み] Swiftで配列に要素を追加する
-
[解決済み] Cocoapods警告 - CocoaPodsがプロジェクトの基本構成を設定しなかった理由は、プロジェクトに既にカスタム構成が設定されているためです。