[초급자용] SwiftUI에서 rootView를 ContentView에서 임의의 View로 변경하자
ContentView에서 모든 View로 변경합시다.
환경
이 기사에서 무엇을하려고합니까?
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 파일을 편집할 수도 있습니다.
Reference
이 문제에 관하여([초급자용] SwiftUI에서 rootView를 ContentView에서 임의의 View로 변경하자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/aki5151/items/0c079e2c79f132597ef9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)