個人で出している小さいiOSアプリをダークモード対応しました
私は趣味で制作したiOSアプリを1本ストアで公開しています。今回、iOS 13のリリースに合わせて、小規模ですがダークモード対応をしましたので簡単に感想を残したいと思います。
スクリーンショット
やったこと
UITableView などの標準的なコンポーネントを使っている箇所がほとんどということも幸いし、beta版の Xcode でビルドした段階で8割程度の画面で正しく表示されているように見えました。
そのため、カスタムセルの一部に設定していた背景色(白色)を削除したり、グレーを設定していたラベルに secondaryLabel の色を設定したり、といった作業がほとんどでした。
唯一、対応らしい対応として、カードセットを選出するときのアニメーション画面に画像を使っており、ダークモード版の画像を設定しました。ただ真っ黒を真っ白にしただけなんですが。
xcassets の画面で初めて右ペインを開きました……。
勘違いして焦ったところ
UITableView には plain と grouped の2種類のタイプがありますが、 grouped の UITableViewCell には systemGroupedBackground という専用の色が付きます(設定アプリなど)。
リリース直前になって、メイン画面の UITableView と設定画面の UITableView でセルの色が違うことに気づき、これは揃えたほうがいいのでは……と焦りました。結果として、類似の純正アプリ(連絡帳など)を見るに、メイン画面など plain のタイプについては特別な設定をする必要はないようでした。よかった……。
まだリリースできていないところ
背景が白いときはまったく気づかなかったのですが、黒くすると気付くこともあったりします。上のカードリスト画面は画面下に広告が出ているのですが、他の画面と比べるとダークモードでのタブバーの色が少し明るくなっており、どうやら広告用のビューがタブバーまで広がっていそうな感じがします。
また、 secondaryLabel を設定するべきところに普通のグレーが設定されている箇所なども見つかっており、今後改修を予定しています。
最後に
今回の私のアプリはごく小規模なアプリだったためほとんど対応は必要ありませんでしたが、Yahoo!乗換案内も本日ダークモード対応版をリリースしており、対応力の強さを感じるとともに、大規模なアプリでも対応できる希望を見出すことができたように感じます。弊社のアプリもかなり対応が大変そうですが、ぜひ一緒に乗り越えていきましょう。
この記事が気に入ったらサポートをしてみませんか?