SwiftUI Spla sh Экран как WhatsApp и Instagram Март 2020 - PullRequest
0 голосов
/ 26 марта 2020

Как я могу реализовать такой экран в приложении, используя SwiftUI. Только если приложение запускается!

Если приложение входит в Foreground, я использую.

func sceneWillEnterForeground(_ scene: UIScene) {
        let contentView = RootView()
        window?.rootViewController = UIHostingController(rootView: contentView)
        window?.makeKeyAndVisible()
    }

Но если приложение запускается, я хочу использовать.

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

    let contentView = RootSplashView()

    if let windowScene = scene as? UIWindowScene {
        let window = UIWindow(windowScene: windowScene)
        window.rootViewController = UIHostingController(rootView: contentView)
        self.window = window
        window.makeKeyAndVisible()
    }
}

Проблема заключается в том, что каждый раз, когда он обращается к RootView ()

Как я могу это исправить ??

Вот мой RootSplashView:

struct RootSplashView: View {
@State private var hasTimeElapsed = false

var body: some View {
    ZStack{
        if hasTimeElapsed {
            RootView()
        }else{
            SplashView()
        }
    }
        .onAppear(perform: delayView)
}

private func delayView() {
    DispatchQueue.main.asyncAfter(deadline: .now() + 1.5) {
        self.hasTimeElapsed = true
    }
}

}

Надеюсь, вы поможете мне! Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...