[SwiftUI] 첫 화면 튜토리얼 구현

8553 단어 SwiftSwiftUI첫회

자작으로 만들 때를 생각한다



완성 예



처음 시작 시 탐지



Enum&Structs.swift
struct CurrentUserDefaults{
// 初回起動時判定
    static let isFirstVisit = "is_first_visit"
}

구조체로 참조할 수 있도록 해 두면 편리한 🎯

정책으로서는, UserDefaults에 기술해 두면 식별할 수 있다는 것 같다

ContentView.swift


.onAppear(){
    firstVisitSetup()
}
.fullScreenCover(isPresented: $isShowTutorialView, content: {
    // Tutorial Viewに飛ばす
    TutorialView()

})

func firstVisitSetyp() {
    let visit = UserDefaults.standard.bool(forkey: CurrentUserDefaults.isFirstVisit)
    if visit {
        print("Two times")

        //MARK: 以下はプレビュー用
        UserDefaults.standard.set(false, forKey: CurrentUserDefautls.isFirstVisit)
    }else{
        print("First Access")
        self.isShowTutorialView.toggle()
        UserDefaults.standard.set(true, forKey: CurrentUserDefaults.isFirstVisit)
    }
}

슬라이드 구현



아래 TabView만 발췌

TutorialView.swift

// Slide Tutorial View
TabView(selection: $selection,
    content: {
        Image("tutorial_image_1")
            .resizable()
            .scaledToFit()
            .tag(1)
        Image("tutorial_image_1")
            .resizable()
            .scaledToFit()
            .tag(2)
        Image("tutorial_image_1")
            .resizable()
            .scaledToFit()
            .tag(3)
        Button(action: {
        print("BUTTON CLICKED")
        presentaionMode.wrappedValue.dismiss()
    }, label: {
        Text("Let's Start".uppercased())
            .font(.title3)
            .fontWeight(.bold)
            .foregroundColor(.white)
            .padding(.all, 30)
            .background(Color.MyTheme.blueColor)
            .cornerRadius(10)
            .shadow(radius: 20)
    })
    .tag(4)
})
.tabViewStyle(PageTabViewStyle())
.frame(height: 500)

요약



의외로 순조롭게 구현할 수 있었습니다!
끝까지 읽어 주셔서 감사합니다!

Twitter ( htps : // 라고 해서 r. 코 m / 료스케 _ 카미 무 r )
Github ( htps : // 기주 b. 코 m / 료스케 카미 무라 )

참고
참고 : Swift5에서 첫 번째 시작 판정 (htps : // m / 1220 / ms / 60, c8061, 39c9704, 9, Ae)

좋은 웹페이지 즐겨찾기