Open3

SwiftUI: LauchScreenをInfo.plistで設定する際の拡大・縮小

kabeyakabeya

iOS 14以降では、Info.plistにイメージ名を書くだけで、LaunchScreenが表示されるようになった、ということでちょっと試してみました。

なんでしょう、相当でかい画像を設定すると拡大・縮小を一切しないのですが、画面サイズちょうどぐらいのを設定すると勝手に拡大・縮小をする気がします。

もうちょっと条件を調べましょうか…

kabeyakabeya

なんでしょう、相当でかい画像を設定すると拡大・縮小を一切しないのですが、画面サイズちょうどぐらいのを設定すると勝手に拡大・縮小をする気がします。

なんか違いますね。同じ画像を使っても拡大・縮小するときとしないときがある。

サイズの違う画像に差し替えたとき、キャッシュか何かが残っていて、前の画像のサイズで表示しようとしている気がします。

画像差し替え後に、最初は拡大縮小されてたのが、Appを削除したり、シミュレータを再起動したりを何回か繰り返すうちに、拡大縮小されなくなります。
おそらく「拡大縮小されない」が正しい動きで、開発中に限っては画像を差し替えると一時的に変にリサイズされることがある、ということじゃないかと思います。

キャッシュがどのときにクリアされるのかはよく分かりません。
Appを削除してクリアされているように見えるときもあるし、シミュレータを再起動してクリアされるように見えるときもあるし。
「Erase All Contents and Settings…」だと確実そうに見えますが、そう都度都度やってらんない(のでそれが確実かは検証できてない)。

kabeyakabeya

これは未来の自分へのメモ。
拡大縮小はされないという前提で画像を全機種共通で1つ用意するとします。

画面幅は、現行(?)機種だと、iPhone 8/Xあたりの375ポイントから14 Pro Maxの430ポイントまでです。
幅340〜360ポイント+余白、ぐらいのつもりの画像を用意する。
できるだけ正方形。そうすると画面の向きが縦横どちらでもOKになります。Appが縦固定なら正方形にはこだわらなくてOK。
2x,3xの画像を用意しても良いかも知れませんが、正直一瞬しか表示されてないので、どちらでもよさそう。