본문 바로가기
PROGRAMMING CODE/SWIFT

[SwiftUI] LaunchScreen (로딩화면 구현하기)

by daye_ 2023. 6. 26.

 
SwiftUI에서 런치스크린 구현하는법!
 
 
 


**AppDelegate.Swift **
 

import SwiftUI

extension ContentView {
    var AppDelegate : some View {
        ZStack(alignment: . center){
            Image("Rock").foregroundColor(Color.black)
        }.frame(minWidth:6000,minHeight: 5000).background(Color.white)
    }
}

 
 
ZStack안에 런치화면을 구현한다. 
ZStack에 그냥 backgroundColor 설정해줬는데 안되길래 그냥 Frame만들어서 다 덮어야겠다고 결정.
아마 시스템 width같은거 있을것같은데, 급해서 일단 저걸로 우겨넣음
 
 
 


**ContentView.Swift**
 

import SwiftUI

struct ContentView: View {

	@State var isLoading : Bool = true
    
	var body: some View {
    	ZStack{
           
           Group{
           		//여러가지 스택들,, 본 어플 화면
           }
           
            if isLoading{
                AppDelegate
            }
           
        }.onAppear{
            DispatchQueue.main.asyncAfter(deadline: .now()+2,execute:{
                isLoading.toggle()
            })
      }
}

 
 
isLoading으로 런치화면 판별하고, 
onAppear에서 2초 후에 isLoading이 토글되며 본 어플화면으로 바뀌게 됨
 

 

 
 짠
 
 
 
 
-참고자료들-

[SwiftUI] Animation(Transition)이 포함된 Launch Screen 구현하기

📌 Launch Screen: 뽀대나는 앱을 위해 Launch Screen, 즉 시작 화면은 사용자가 앱을 구동했을 때 가장 먼저 마주치는 화면이다. 시작 화면이 시각적으로 매력적이라면 사용자에게 더 큰 만족감을 선사

velog.io

[Swift] SwiftUI/StoryBoard LaunchScreen + Sleep 예제

런치 화면 / 스플래시 화면은 사용자가 제일 처음 마주하는 화면이다. 사용자가 메인화면을 보기전에 하얀 빈 화면을 마주하게된다면 현재 사용하는 앱이 반응성이 좋지않다는 인식을 해줄 수

pgnt.tistory.com