[초급자용] SwiftUI에서 rootView를 ContentView에서 임의의 View로 변경하자

5953 단어 SwiftUISwift5

ContentView에서 모든 View로 변경합시다.



환경


  • Xcode11.5
  • Swift5
  • SwiftUI

  • 이 기사에서 무엇을하려고합니까?



    Xcode에서 새 프로젝트를 만든 후 기본적으로 설정된 ContentView를 자신이 좋아하는 View로 변경하고 싶습니다.
    예를 들어, ContentView -> RootView, LoginView 등



    1. 임의 파일 만들기



    File > New > File에서 SwiftUI를 선택하여 새 파일을 만듭니다. 이번에는 파일명을 "RootView"로 합니다.



    아래 그림과 같이 RootView.swift 파일을 만들 수 있는지 확인할 수 있습니다.


    아래에서 만든 RootView.swift 코드

    RootView.swift
    import SwiftUI
    
    struct RootView: View {
        var body: some View {
            Text("Root View なんだぜ〜")
        }
    }
    
    struct RootView_Previews: PreviewProvider {
        static var previews: some View {
            RootView()
        }
    }
    

    2. SceneDelegate.swift 편집



    SceneDelegate.swift
    import UIKit
    import SwiftUI
    
    class SceneDelegate: UIResponder, UIWindowSceneDelegate {
    
        var window: UIWindow?
    
    
        func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
            // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
            // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
            // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
    
            // Create the SwiftUI view that provides the window contents.
            // 以下、作成したViewを指定
            // let contentView = ContentView()
            let rootView = RootView()
    
            // Use a UIHostingController as window root view controller.
            if let windowScene = scene as? UIWindowScene {
                let window = UIWindow(windowScene: windowScene)
                // contentView -> rootView
                window.rootViewController = UIHostingController(rootView: rootView)
                self.window = window
                window.makeKeyAndVisible()
            }
        }
    
     // ...  以下、不要なので省略
    
    }
    
    

    3. 시뮬레이터 또는 실제 기계에서 실행



    아래 그림과 같이 RootView로 변경할 수 있음을 알 수 있습니다.


    이어서



    이 기사에서와 같이 새 파일을 만들지 않고 ContentView.swift 파일을 편집할 수도 있습니다.

    좋은 웹페이지 즐겨찾기