事象
SwiftUIは、デフォルトで起動画面を装飾するファイルなどなく、Info.plistで起動画面を作成しなければなりません。Info.plistで行うため、画像のサイズや位置を決めることができません。
【SwiftUI】Info.plistを使ってLaunchScreenを実装する方法で、今回起きた事象としては、画像がこのように引き伸ばされてしまいます。
対応方法
対応方法としては、2パターンあります。Single Scaleに変えて画像のサイズを微調整するか、Storyboardを使うかです。
自分は、どちらかというと、Storyboardを使う方をオススメします。
パターン1:Single Scaleにする
①画像を選択
② (Show The Attributes inspector)をクリック
③ScalesをSingle Scaleに変更
シミュレーターの中のアプリを削除し、シミュレーターを再起動してください。さらにXcodeで、クリーンビルドしておいた方が良いと思います。
これでも変わらない場合は、今まで使ったことない端末で実行してみてください。なぜか、キャッシュが残ってしまって、うまく反映されません。。
これで、このようになるはずです。
あとは元々の画像で大きさを変えてください。
でも結局小さい端末では、大きい画像で表示されちゃいますね。。
パターン2:Storyboardで行う方法
今回の対応で言うと、こちらの方がオススメです。
Storyboardを追加します。
command + nで新規ファイルウィンドウを表示する
①Storyboardを選択
②Nextをクリック
①LaunchScreen.storyboard
と入力
②Createをクリック
普通に画像を配置して、AutoLayoutをつけてください。
①ボードの上のバーをクリック
② (Show The Attributes inspector)をクリック
③Is Initial View ControllerをONにする
①プロジェクトを選択
②TERGETSを選択
③Infoを選択
④元からあるLaunch Screen
を削除する
⑤以下のプロパティを追加する。
key | type | value |
---|---|---|
Launch screen interface file base name | String | LaunchScreen |
これでいい感じになりました!
結局SwitUIでStoryboardを使う羽目になってしまいました。。。
参考文献