본문 바로가기

반응형

아이폰

(4)
[SwiftUI Essentials] Handling User Input - 2 지난 포스팅에서는 데이터에 저장된 Favorites 속성을 읽어 LandmarkRow에 별 이미지를 추가하였고, @State 상태 변수를 사용하여 원하는 조건에 따라 리스트에서 원소를 보이도록 하는 기능을 구현하였다. 이번 포스팅에서는 실제로 사용자가 사용할 수 있도록 Toggle을 사용하여 좋아하는 장소만 확인할 수 있도록 하는 기능을 구현하고 사용자가 직접 좋아하는 랜드마크를 표시할 수 있도록 하는 기능을 튜토리얼을 따라가며 구현해보려고한다. Toggle 기능 구현하기 이전에 구현한 기능은 사용자가 코드에서 @State 변수인 `showFavoritesOnly`를 일일히 바꿔줬어야만 가능했다. 하지만 어플리케이션에서 사용자가 직접 코드를 수정할 수 없기 때문에 사용자가 컨트롤 할 수 있도록 만들어줘야..
[SwiftUI Essentials] Handling User Input - 1 지난 튜토리얼들을 통해 이미 작성된 랜드마크 데이터를 활용하여 랜드마크 List view를 만들었고 조회를 원하는 랜드마크를 선택하였을 때 해당 랜드마크의 세부 정보를 볼 수 있는 화면으로 이동하는 Navigation 기능을 구현하였다. 랜드마크의 세부 정보 화면에서는 이전 화면에서 정보를 받아 MapKit을 통해 위도와 경도 좌표로 랜드마크의 위치를 표시하였고(MapView) 이미지를 보여주고(CircleImage)나 랜드마크의 이름, 세부 정보 등을 보여주는 View를 구현하였다. 여태까지 작성한 어플리케이션은 유저의 상호작용이 많이 들어가지는 않는다. 유저는 단순히 리스트를 보다가 원하는 랜드마크를 선택하고 원하는 랜드마크의 세부정보를 보기만 할 뿐이다. 지금부터 시작할 Handling User I..
[SwiftUI Essentials] Building Lists and Navigation - 4 지난 작업에서는 저장된 데이터 베이스를 활용하여 LandmarkList.swift를 구현하였다. 이번 튜토리얼에서는 구성한 list view를 눌렀을 때 세부 정보를 보여주는 LandmarkDetail.swift를 작성하고, 리스트를 눌렀을 때 화면을 연결하는 Navigation에 대한 내용을 다루고 있다. 우선, LandmarkDetail.swift 파일을 새로 생성하고 기존에 ContentView에 있는 내용을 복사-붙여넣기 한다. 그리고 ContentView에는 LandmarkList()를 넣어준다. 이제 우리의 앱은 초기 화면인 LandmarkList와 각 리스트에 있는 랜드마크를 눌렀을 때 각 랜드마크에 해당하는 디테일한 정보를 볼 수 있는 LandmarkDetail의 두 가지 화면으로 구성되게..
[SwiftUI Essentials] Building Lists and Navigation - 3 지난 작업에서는 landmark 리스트를 구성하기 위한 view인 LandmarkRow.swift를 만드는 작업을 했었다. 지난 작업을 통해 만든 view를 토대로 list view를 작성하는 방법을 다룬 튜토리얼을 따라하려고 한다. 우선, SwiftUI에서는 List를 통해 list view를 지원하고 있다. 이 때, 정적(static)으로 구성하는 방법과 동적(dynamic)하게 구성하는 두 가지 방법이 있다. 정적으로 list view 구성하기 정적이라는 말은 일종의 하드코딩을 한다는 뜻으로 생각하면 된다. 불러온 데이터 전체를 사용하는 것이 아닌 불러온 데이터를 일일히 붙여주는 방식을 사용한다. import SwiftUI struct LandmarkList: View { var body: some..