2019年2月11日月曜日

iOS11のColorSet

iOS11からAsset CatalogにColor Setを指定できるようになりました。

この設定をすると、Storyboardとコードの両方で利用できるのでとても便利。

Storyboard上では以下のように選択肢が現れます。

コード上では UIColor(named:"ColorName") で使えます。

だが! 問題点が。

StoryboardでColor Setの色をしていると、viewDidLoad() よりも後にその設定が反映されるみたい。(iOS12で確認)
つまり、viewDidLoad() でコードから色の再設定していてもそれが反映されない。
traitCollectionDidChange で設定してもダメなので、結構遅いタイミングの様子。

なので、コードで色を再設定する箇所には、StoryboardでColor Setは使わない としたほうが良さげ。
iOSのバグなのかな?と思うので、今後修正されるかもしれないが、お気をつけくださいー。


• • •