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


コード

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 になる。