【Swift UIKit】ダークモードを適応させない方法!info.plistから変更

この記事からわかること
- UIKitでアプリ内からダークモード/ライトモードを切り替える方法
- overrideUserInterfaceStyleとは?
- UIUserInterfaceStyleの値
- info.plistから変更する方法
index
[open]
\ アプリをリリースしました /
SwiftのUIKitフレームワーク使用時にダークモードを適応させないようにする方法をまとめました。
ダークモードを適応させないようにする方法
UIKitで表示させているビューに対してダークモードを適応させないようにするにはviewDidLoad
メソッド内でoverrideUserInterfaceStyle
プロパティにlight
をセットします。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 常にライトモード(明るい外観)を指定することでダークモード適用を回避
self.overrideUserInterfaceStyle = .light
}
}
これでこのViewControllerが管理している画面はダークモードに変わらないですみます。
UIUserInterfaceStyle
値として指定していたlight
は列挙型UIUserInterfaceStyle
の値です。
enum UIUserInterfaceStyle {
case unspecified // 指定なし
case light // ライトモード
case dark // ダークモード
}
なのでoverrideUserInterfaceStyle
の値にdark
を指定すると常にダークモードが適応された状態にすることも可能です。
Swift UIでは列挙型ColorScheme
として定義されており設定方法が異なります。
info.plistからアプリ自体の設定を変更する
画面ごとではなくアプリ全体でダークモードorライトモードを指定するには「info.plist」にキー「Appearance
」を追加して、値に設定したいモード「Light
」などを渡すことで指定することができます。

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。