Main.storyboardがない

概要

専門書を読みながら、SwiftでiOSアプリをXcodeで開発しているときにLaunchScreen.storyboardのみでMain.storyboardが見つからない。

解決策

Choose options for your new project内のUser Interface:Storyboardを選択するとMain.storyboardが出てくる。

f:id:seven_901:20200721211659p:plain

詳細

Main.storyboardLaunchScreen.storyboardの違い

最初はLaunchScreen.storyboardだけだったからLaunchScreen.storyboardLabelbuttonを配置してからシミュレーションしてみた。
すると、LaunchScreen.storyboardに配置したオブジェクトが表示。
そこから1、2秒ぐらいしてから、中央にHello World!が出力されているページに遷移。

そこで、Main.storyboardLaunchScreen.storyboardの2つを調べてみると

Main.storyboard

  • UIの開発を行う画面

LaunchScreen.storyboard

  • 最初の数秒間、表示させる画面

であるらしい。

だから、Labelbuttonなどを配置してUIを開発するときはMain.storyboard上で開発する必要がある。
反対にLaunchScreen.storyboardはアプリを起動するときに画像やロゴ表示させたいときに使うみたい。

User InterfaceSwiftUIって何?

Choose options for your new projectで表示されているUser InterfaceのデフォルトでSwiftUIが選択されている。

こちらによると、SwiftUIは主にコードでUIを開発するときに選択するらしい。
大きな特徴として

  • Main.storyboardがない

  • ~.swift内のコードを編集してUI開発

  • 開発したUIはプレビューで確認することができる

これらより、開発するときに
buttonlabelを手動で配置したい → Storyboard
buttonlabelをコードで配置したい → SwiftUI
を選択する。

参考

stackoverrun.com

note.com