状況
某アプリの改修の業務をやっていまして、改修の中の1つとして、storyboardにて新しい画面(ViewController)を追加する必要が出てきたので、追加しました。
基本的な動作確認はXcodeのシミュレーターで行っていて、全ての画面は背景色は黒です。
中の実装も問題ないことを確認し、実機でビルドすると、新しく追加したビューだけ背景色が白く表示されてしまった。
なぜ??シミュレーターでもXcodeでのStoryboardでの見た目もちゃんと黒くなっている。
でも、iPhoneの外観モードで、ダークとライトがあるが、ダークが選択された状態だった。これをライトにしたら正常に黒くなってなんで??となった。
でも、他の既存の画面は外観モードがどっちでも背景色は正常に固定となっていた。
原因
色指定で、「Label Color」を選択していたのが原因だった。見た目は黒だったのでとりあえずこれを指定してしまっていてたが、他の画面はちゃんと「Black」を選択していた。
Label ColorはDynamic Colorを参照しているのかな。ググってもすっきりしない。
でも、普通に直接色をBlackとかRedとか指定したら、外観モードに左右されることはないことは分かってよかった。