【Xcode】起動時のアプリ画面をXibにする方法(iOS13、iOS14)

【Xcode】起動時のアプリ画面をXibにする方法(iOS13、iOS14)

こんにちは、こばやしよしのり @yoshiii514 です。

Xibは従来のStoryBoardとは違い、次のメリットがあります。

  • gitでコンフリクトが起こりにくい
  • 画面を再利用することができる
  • 画面のパーツを部品として切り出すことができる

初期状態では、起動時のアプリの画面は、StoryBoardですが、これをXibから表示できるように変更します。

今回は、ViewController.xibというファイルを作成しました。

ViewController.xibというファイルを作成した場合は、SceneDelegate.swiftを以下のように修正します。


 var window: UIWindow?

    func scene(_ scene: UIScene, 
     willConnectTo session: UISceneSession, 
     options connectionOptions: UIScene.ConnectionOptions) {

        guard let _ = (scene as? UIWindowScene) else { return }
        // MARK: Xibで起動するための変更
        // 変更はここから
        let window = UIWindow(windowScene: scene as! UIWindowScene)
        self.window = window
        window.makeKeyAndVisible()
        // ここにxibのクラスファイル名を書く
        let xibVC = ViewController()
        window.rootViewController = xibVC
        // 変更はここまで
    }

iOS13、iOS14では同じ設定でXibが表示されます。他のiOSバージョンのときは設定方法が異なるみたいですので、ご注意ください。

動画で学ぶiOSアプリ開発講座を公開!
「体験しながら学ぶ」最短での脱初心者カリキュラムiPhoneアプリ開発集中講座[オンライン版]Mac・Xcode12・iOS14・Swift5.3・SwiftUI完全対応
「体験しながら学ぶ」ことで、最短での脱初心者を目指すアプリ開発講座です。

【本講座に含まれているもの】
・全額返金保証
・Swift文法解説
・SwiftUI完全対応
・サンプルアプリ6本作成
・チャットサポート(Slack)

執筆陣が徹底解説、サポートをします💪
 【先行ユーザー特典!先着10名様40,000円OFF】 iPhoneアプリ開発集中講座[オンライン版]