ji_iin
iOSLog
ji_iin
전체 방문자
오늘
어제
  • 분류 전체보기 (56)
    • Swift (8)
    • iOS (6)
    • 알고리즘 (34)
    • CS (3)
    • 회고 (3)
    • 제품리뷰 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 그래프이론
  • 대기업코테
  • 알고리즘개념
  • SWiFT
  • 브루트포스 알고리즘
  • 수학
  • 회고
  • 백준
  • Python
  • swiftUI
  • 프로그래머스
  • ios
  • 자바
  • 구조체와 클래스
  • opional
  • 재귀
  • 깊이우선탐색
  • 파이썬
  • 2022년 회고
  • 그래프탐색
  • 공식문서
  • 알고리즘
  • 정렬
  • 개발회고
  • Bye2023
  • django
  • 너비우선탐색
  • 백트래킹
  • 깊은복사와 얕은복사
  • 다이나믹 프로그래밍

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ji_iin

iOSLog

[SwiftUI] NavigationLink를 이용해서 페이지 이동하기
iOS

[SwiftUI] NavigationLink를 이용해서 페이지 이동하기

2021. 8. 28. 20:49

처음에 버튼 이미지를 넣어놓고 이제 어떻게 페이지 이동하지?

고민하면서 구글링 한 결과, 버튼이 아닌 NavigationLink를 이용해야 한다.

페이지 이동이 한번만 될 뿐 아니라,

두세번 원하는 만큼 설정하면 계속 연결되어 구현 가능하다.

바로 코드로 설명 !!

 

 

 

< Main >

 

아이콘을 누르면 바로 해당 목적지의 뷰로 넘어가지만,

나는 NavigationLink안에 NavigationLink를 또 넣어

스택이 쌓이는 것처럼

화면에 들어가고 또 들어가게 구현해 보았다.

var body: some View {
        NavigationView(content: {
            VStack(spacing: 40) {
                NavigationLink(
                    destination: PickRamen()) {
                    Icons(actionText: "라면 클릭!", title: "라면 끓이기", image: "ramen") }
                
                NavigationLink(
                    destination: PickEggs()) {
                    Icons(actionText: "계란 클릭!", title: "계란 삶기", image: "fireeggs") }
            }.navigationTitle("선택하기")
        })

    }

 

 

< PickRamen >

 

앞 부분과 동일하게 destination 설정하고,

간단하게 Text로 링크 연결하면 

var body: some View{
        VStack(spacing: 40) {
            NavigationLink(
                destination: CustomTimer(),
                label: {
                    Text("타이머 설정 ! ")
                        .font(.system(size: 30))
                        .foregroundColor(.blue)
                        .fontWeight(.bold)
                        
                })
            NavigationLink(
                destination: CustomTimer(),
                label: {
                    Text("타이머 설정 ! ")
                        .font(.system(size: 30))
                        .foregroundColor(.purple)
                        .fontWeight(.bold)

                })
        }

 

< endView >

 

이렇게 설정한 끝 목적지까지 도달할 수 있다.

이 부분 구현은 Text만 넣은 거라 따로 코드는 넣지 않겠다.

 

 

< 최종 구현 GIF >

 

설명한 부분 포함해서

내가 디자인 해 놓은 부분도 포함했다.

StoryBoard로 구현했을 때는 Stack으로 쌓아서 구현했던 것 같은데 (아마도..)

뭔가 비교적 간단하게 구현 가능해서 좋았다.

( 개인적으로 SwiftUI가 더 편하고 직관적인 느낌이라 쓰기 편하다. )

'iOS' 카테고리의 다른 글

iOS 커스텀 아키텍처 고민하며 구상해보기 (Unidirectional Data Flow / Based ReactorKit)  (0) 2024.07.21
[AutoLayout] Hugging Priority vs Compression Resistance Priority  (2) 2022.05.01
[iOS] Table Views - Filling a Table with Data  (0) 2022.05.01
[UIKit] UserDefault로 데이터 저장하기  (0) 2021.12.27
[Timer] 타이머 숫자(초단위)를 { 분 : 초 }로 변경하기 (String format)  (0) 2021.09.11
    'iOS' 카테고리의 다른 글
    • [AutoLayout] Hugging Priority vs Compression Resistance Priority
    • [iOS] Table Views - Filling a Table with Data
    • [UIKit] UserDefault로 데이터 저장하기
    • [Timer] 타이머 숫자(초단위)를 { 분 : 초 }로 변경하기 (String format)
    ji_iin
    ji_iin
    개발성장일지🐥

    티스토리툴바