今回は iOS 13 から追加されたダークモードについてです。
ダークモードが有効になっている端末では、アプリのデザインがダークモードに対応した見た目になり、全体的に黒っぽい配色になります。
が、アプリによってはダークモードの全体的に黒っぽいデザインにしたくない場合もあるかと思います。
そんな時に、アプリのダークモード適用を禁止する方法があります。
参考にさせていただいた記事はこちらから。
ダークモード適用を回避する方法 – Qiita
https://qiita.com/hiroyuki7/items/161881c38bd6e19fd396
なお、幸いにも現在開発中のアプリはダークモードを無効にしなくてもデザインが大きく崩れなかったので、ダークモードは禁止にしてはいません。
が、他のアプリでは必要になるかもしれないので、今後のためにまとめ。
まず、ViewController
毎にダークモード適用を無効化する方法です。
方法はいたって簡単で、viewDidLoad
内などで、下記のコードを追加するだけです。
self.overrideUserInterfaceStyle = .light
overrideUserInterfaceStyle
にライトモードを指定することで、常にライトモードになります。
逆に言えば、overrideUserInterfaceStyle
で .dark
を指定すれば、ダークモードを有効にしていない端末でもアプリの見た目がダークモードになるのだと思います。
もう1つは、Info.plist
で設定する方法です。
UIUserInterfaceStyle
という項目に Light
というパラメータを追加することで、ダークモード適用を無効化できます。
こちらの設定はアプリ全体に適用されるので、1つ目の方法のように、全ての ViewControlloer
に記述しなくても良いので、こちらの方がお手軽だと思います。
是非、どちらかお好きな方を採用してください。
なお、参考サイトの筆者様も書かれていましたが、恐らくいずれはダークモードへの対応は必須になるかと思いますので、これらの方法は一時的な対応方法だと思った方が良いと思います。
私も時間を見つけて、過去に開発したアプリを確認したいです。
以上、Swift でアプリのダークモードの適用を禁止する方法でした。
ご参考になれば幸いです。