アプリ開発日記 #61 Xamarin.iOSの資産カタログを使用した色指定
実際にやったこと
ダークモードに対応するために、Xamarin.iOSの画面のBackground Colorおよび、Text Colorを資産カタログを使用するように変更しました。
資産カタログのカラーセットでは、Appearnceを「Any,Dark,Light」を指定することで、iOSでダークモードが利用できるようになります。
そのため、今まで、直接指定していたBackground Colorおよび、Text Colorを資産カタログを使用するように変更しました。
しかし、資産カタログの設定をしても色が変わりません。
そして、ソースコードで色指定していた箇所について以下のコードに変更してデバッグ実行した結果ある事実に気が付きました。
var color = UIColor.FromName("Color");
なんと、デバッグ実行してみると、アルファの値が1となっていました。
そして、なぜ1となっているのか調べてみたところ、資産カタログでアルファの値を1にしていたことが原因のようでした。
しかし、資産カタログの色設定は、sRGBによる指定であり、sRGBで色を設定する場合は、0~1の間で値を設定する必要があります。
また、以下のソースコードで色を指定するとアルファの値は255となります。
var color = UIColor.FromRGB(150,90,42);
おそらく、UIColor.FromNameにバグがあり、sRGBで1を指定した場合に正しく値が指定できないようです。
そのため、sRGBで指定できる1に限りなく近い値として、資産カタログに0.99999を指定しました。
その結果資産カタログの色がとりあえず画面に設定できるようになりました。
ダークモード対応で解決できていない問題
ibtoolでエラーが出てしまい、ビルドができなくなってしまいました。
ネットを検索したところ、Xcodeのアップデートをするなどの情報がありましたが、原因がよくわかっていません。
時間が解決してくれる(Xamarinの中の人がバグを直してくれて、次回アップデート時には解決している)といいんだけどな。。。
過去に作成したアプリ
①概算家計簿
家計簿を毎日つけれれないあなたのための家計簿アプリです。
②ToDoボタン
忙しくてついつい放置してしまう家事
そんな家事の最後にやった日を記録するアプリです。
③がんばる!!その前に
いつも行き当たりばったりになってしまうあなたに。
何かを始める前に自分の強みや周りの状況を客観視し、どうすればうまくいくかを考えてみませんか。
このアプリは、そんなあなたを助けるためのアプリです。
今読んでる本
- 作者: 成瀬 雅光
- 出版社/メーカー: 日経BP
- 発売日: 2018/03/30
- メディア: Kindle版
- この商品を含むブログを見る
「ついやってしまう」体験のつくりかた 人を動かす「直感・驚き・物語」のしくみ
- 作者: 玉樹真一郎
- 出版社/メーカー: ダイヤモンド社
- 発売日: 2019/08/08
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る