SwiftUI. The Swiftui Cookbook for Navigation - WWDC22

The SwiftUI cookbook for navigation SwiftUI의 새로운 내비게이션 API를 발표한 WWDC 세션을 정리했다. 이 내비게이션 API는 각각의 NavigationLink가 관리하는 대신, 스택 전체의 상태를 데이터로 표현하고 직접 조작할 수 있게 만든다. 이 구조를 사용하면 버튼을 눌러 이동하는 기본적인 내비게이션뿐만 아니라, 딥 링크나 특정 화면으로 바로 이동하기, 루트 화면으로 돌아가기, 현재 내비게이션 상태 저장까지 같은 모델로 처리할 수 있다. New naviation API: 새로운 Data-driven 내비게이션 API Recipes for navigation: 탐색을 프로그래밍 방식으로 완전히 제어하기 Persistent state: 새로운 API를 이용하여 앱의 내비게이션 상태를 유지하기 i갑자기 프로그래밍 방식? SwiftUI는 처음부터 코드로 UI를 작성하는 프레임워크였기 때문에, 기존 NavigationView도 isActive나 selection을 이용해 화면을 프로그래밍 방식으로 전환할 수 있었다. ...

July 23, 2026

UIKit. 화면 전환 방식

UIKit에서는 화면을 전환하는 방법이 여러 가지 있지만, 실제로는 상황에 따라 적절한 방식을 선택하면 된다. 화면을 계층적으로 이동한다 → Show Split View의 Detail 화면을 변경한다 → Show Detail 현재 화면 위에 독립적인 화면을 띄운다 → Present Modally 큰 화면에서는 팝오버, 작은 화면에서는 모달로 표시한다 → Present as Popover 이번 글에서는 각각의 방식이 어떤 상황에서 사용되는지 간단히 정리해 보려고 한다. 화면 전환 방식 Show show(_:sender:) 내비게이션 컨트롤러를 사용하는 경우 새로운 뷰 컨트롤러를 Push하여 화면을 전환한다. 사용자가 계층 구조를 따라 이동하는 대부분의 화면 전환이 여기에 해당한다. ...

August 21, 2024

SwiftUI Tutorials. Building Lists and Navigation

사용자가 전체 랜드마크 목록을 보고 각 위치에 대한 세부 정보를 볼 수 있는 방법을 제공해야 한다. 모든 랜드마크에 대한 정보를 표시할 수 있는 뷰를 생성하고 사용자가 탭하여 랜드마크에 대한 디테일 뷰를 볼 수 있는 스크롤 목록을 동적으로 생성한다. UI를 미세 조정하고 싶으면 Xcode를 사용하여 다양한 장치 크기에서 미리보기를 렌더링 하면 된다. Section 1. Create a landmark model 첫 번째 튜토리얼에선, 모든 정보들을 커스텀 뷰에 하드코딩했다. 이제는 뷰로 전달할 수 있는 데이터를 저장하는 모델을 만들 것이다. ...

June 25, 2024