スプラッシュスクリーン作り3日目。

今回で、とりあえずスプラッシュスクリーンは一区切り。

前回は動くスプラッシュスクリーン、というより、ビューの切り替えで擬似スプラッシュスクリーンを作ってみました。

今回は静止画との組み合わせを考えて……おや?どうしましたニャンコ先生。

ニャンコ先生「前回から20日くらい更新間隔が空いている気がするニャ」

ほほう、気が付きましたか。

実はこの間、色々とスプラッシュスクリーンについて試行錯誤を繰り返す……ようなことは一切なく。積み上がる仕事での作り物の下敷きになっていたのです。年末の足音が近づく中、雪の替わりに仕事がシンシンと降り積もって降り積もって、トンネルを抜けたらそこは(以下略)

ということで、久々のXcode。相変わらず洗練された画面が眩しいですね。

現状スプラッシュスクリーンの課題はこんな感じでした。

① 静止画のスプラッシュスクリーンは少々物足りない
② 動くスプラッシュスクリーンは標準機能になく、疑似的になる
③ ②を呼び出す間に①を表示させるという、冗長構成になっている

おまけに、静止画のスプラッシュスクリーンと言えば、現在のiOSの画面は、Max版で最大「1284px x 2778px」という尋常じゃないサイズの画像を表示できます。

クオリティによっては「数MB〜数十MB」にも膨れ上がる画像を、裏でせっせと②を呼び出している間に表示するというのは……いくらこれがネットワークに関係ないアプリとは言え、少々気が引けてしまいます。

うーむ。

じゃあいっそのこと「最小サイズ(最軽量)のスプラッシュスクリーンにしたらどうなるだろう」というのが、今回の「単色スプラッシュスクリーン」です。

作り方が少しだけ特徴的で、静止画のスプラッシュスクリーンと同様に、「Info.plist」にある「Launch Screen」の項目に「Background Color」という要素を加えるのですが、ここにそのまま色を指定するのではなく、「Assets.xcassets」上で「Color Set」という「色の設定」を作って、その名称を設定します。

Color Setには「Any Appearance」と「Dark」、つまり、「通常表示用」と「ダークモード時の表示用」の設定欄があるので、状況によって色を使い分けることができるようになっています。なるほど、便利。

では、とりあえず「白」にしておきましょう。

別にこの設定をしなくても、デフォルトが白なので何も変わらないと言えば変わらないのですが……「いつでも変更できる」ということを知っているのが大事なのです。ええ、きっとそう。

ということで、

STEP1 白いスプラッシュスクリーン
STEP2 白が三角形の形でギューンと閉まってきて、グラデーションの背景になる
STEP3 メイン画面に遷移

こんな形になりました。

STEP2はまだまだ工夫の余地がありますが、ひとまずスプラッシュスクリーンはこれにて終了。次はどこを作ろうかしら、と、降り積もる仕事を眺めながら考え中です。