SplashView.swift 생성
[splashView.swift]
import SwiftUI
struct SplashView: View {
var body: some View {
ZStack {
Color.blue
.edgesIgnoringSafeArea(.all)
VStack {
Image(systemName: "star.fill")
.font(.system(size: 100))
.foregroundColor(.white)
Text("스플래시 화면")
.font(.title)
.foregroundColor(.white)
}
}
}
}
메인 화면(View)에서 SplashView를 초기 화면으로 사용
[contentview.swift]
struct ContentView: View {
@State private var showMainView = false
var body: some View {
ZStack {
if showMainView {
// 메인 콘텐츠나 이후의 뷰들을 여기에 작성합니다.
} else {
SplashView()
.onAppear {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
withAnimation {
showMainView = true
}
}
}
}
}
}
}
SplashView의 onAppear 수식어를 사용하여 스플래시 화면이 나타날 때 애니메이션과 함께 showMainView를 true로 전환합니다. DispatchQueue.main.asyncAfter를 사용하여 0.5초의 지연 시간을 주고, 클로저 내에서 showMainView를 true로 설정합니다. 이로써 스플래시 화면이 일정 시간 동안 표시되고, 그 후에 메인 콘텐츠가 나타납니다.
나머지 메인 콘텐츠나 추가적인 뷰들은 if showMainView 블록 안에 작성하면 됩니다. showMainView가 true일 때만 해당 블록이 실행되므로, 스플래시 화면이 완전히 사라진 후에 메인 콘텐츠가 표시됩니다.
'swift' 카테고리의 다른 글
SwiftUI Modifier와 Custom Modifier (0) | 2023.05.18 |
---|---|
SwiftUI @State와 @Binding 에 대해 알아보자 (0) | 2023.05.17 |
SwiftUI 다크모드 막는 방법 (0) | 2023.05.17 |
swift ui 컨테이너 ( VStack , HStack , ZStack ) (0) | 2023.04.18 |
SwiftUI LifeCycle(라이프사이클)에 대해 알아보자 (0) | 2023.04.18 |