스토리보드 없이 코드로 화면 생성

4764 단어 Swift

소개



스토리 보드를 사용하지 않는 앱을 ​​설정하는 방법을 잊어 버리므로 잊은 기록을 만듭니다.

환경



Xcode Version 12.5.1 (12E507)

절차



1. 앱의 Deployment Info 설정





Main Interface의 "Main"문자 삭제

2.Info.plist의 Application Scene Manifest를 항목별 삭제





선택하여 항목별 삭제

3. 불필요한 파일 삭제



SceneDelegate.swift와 Main.Storyboard를 사용하지 않으므로 왼쪽 Navigator에서 제거
※SceneDelegate.swift는 전문 코멘트 아웃에서도 가능

4.AppDelegate.swift 편집



AppDelegate.swift
import UIKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    //①プロパティを宣言
    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {


        //②ViewControllerのClassをrootViewControllerに設定して表示する
        let window = UIWindow(frame: UIScreen.main.bounds)
        self.window = window
        window.makeKeyAndVisible()
        window.rootViewController = ViewController()

        //NavigationBarを使う場合
        //window.rootViewController = UINavigationController(rootViewController: ViewController())

        return true
    }

    // MARK: UISceneSession Lifecycle

    //③ 初めからある以下2つのメソッドをコメントアウト
//
//    func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
//        // Called when a new scene session is being created.
//        // Use this method to select a configuration to create the new scene with.
//        return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
//    }
//
//    func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
//        // Called when the user discards a scene session.
//        // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
//        // Use this method to release any resources that were specific to the discarded scenes, as they will not return.
//    }

}

위와 같이 편집
①window 속성 선언
②ViewController의 Class를 rootViewController로 설정하여 표시
③2개의 메소드를 코멘트 아웃

참고로했습니다.

좋은 웹페이지 즐겨찾기