ContentView.swift
// // ContentView.swift // swiftuidev15ios // // Created by Cairocoders // import SwiftUI struct ContentView: View { var body: some View { ZStack { Color.gray .ignoresSafeArea() Text("ContentView") .foregroundColor(.white) .font(.system(size: 20)) .bold() .padding() } } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } }SplashScreenView.swift
// // SplashScreenView.swift // swiftuidev15ios // // Created by Cairocoders // import SwiftUI struct SplashScreenView: View { @State var isActive : Bool = false @State private var size = 0.8 @State private var opacity = 0.5 var body: some View { if isActive { ContentView() } else { VStack { VStack { Image("logo") .resizable() .scaledToFill() .frame(width: 128, height: 128) Text("Cairocoders") .font(Font.custom("Baskerville-Bold", size: 26)) .foregroundColor(.black.opacity(0.80)) } .scaleEffect(size) .opacity(opacity) .onAppear { withAnimation(.easeIn(duration: 1.1)) { self.size = 0.9 self.opacity = 1.00 } } } .onAppear { DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) { withAnimation { self.isActive = true } } } } } } struct SplashScreenView_Previews: PreviewProvider { static var previews: some View { SplashScreenView() } }swiftuidev15iosApp.swift
// // swiftuidev15iosApp.swift // swiftuidev15ios // // Created by Cairocoders // import SwiftUI @main struct swiftuidev15iosApp: App { var body: some Scene { WindowGroup { SplashScreenView() } } }