reona.dev

Splash Screen の実装


↑ のような起動時のスプラッシュ画面を実装したのでメモ

コード

SwiftUI であれば非常に少ないコードでスプラッシュ画面を実現できた。

struct SplashView: View {
  @State var isActive = false
 
  var body: some View {
    VStack {
      if self.isActive {
        HomeView()
      } else {
        Text(
  - Splash Screen)
      }
    }
    .onAppear {
      DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
        withAnimation {
          self.isActive = true
        }
      }
    }
  }
}

コールバック関数である onAppear は View が表示された際に呼び出される。 この場合、SplashView が表示された 2 秒後に isActive が true になる。