Chart
·
iOS/WWDC
오늘은 팀 프로젝트에서 사용할 Chart에 대해서 알아보기 위해 WWDC2022와 공식 문서를 참고하여 공부를 해보았다. 1. Chart란? Swift Charts는 데이터를 시각화로 변환하기 위한 강력한 SwiftUI의 프레임 워크로 사용자 지정 차트를 만들어 보다 쉽게 사용자에게 데이터를 제공할 수 있다. 여기서 각각의 차트의 요소를 Mark라고 부른다. 이미지의 중앙에 있는 막대 차트에서의 각각의 막대 하나하나가 Mark이다. Mark는 데이터를 나타내는 그래픽 요소로 사용된다. 2. 사용법 차트를 사용하기에 앞서 시각화하려는 정보를 PetShape이라는 구조체로 만들어 보자. struct PetShape: Identifiable { var type: String var count: Double v..
GaNaDa - TabView
·
iOS/개인 프로젝트
기존의 가나다의 경우 좌측으로 슬라이드를 하거나 터치를 통해 사이드바가 출력가 출력 되게끔 하였다. 그런데 페이지 수가 많지도 않았으며 커스텀사이드바를 사용하면서 앱의 코드를 무겁게 하기도 했고, 해당앱에서는 불필요하다는 느낌이 들었다. 그래서 다른 방식으로 뷰를 전환하는 방법을 고려해보기로 했다. 그래서 정하게 된 전환 방식은 TabView를 이용하여 페이지를 전환하는 방법으로 간단하게 하단의 버튼을 터치하면서 앱을 복잡하지 않아 보이게 만들었다. 오늘은 그 변환 과정에서 학습하였던 TabView에 대해서 간단하게 정리해 보자. 1. TabView 구성 TabView의 구성은 기존의 사이드바에서 볼 수있었던 메인 페이지와 메모 페이지가 된다. 구성하는 방법은 생각보다 간단하다. 아래 코드를 통해 한번 ..
GaNaDa - MemoPage(2)
·
iOS/개인 프로젝트
지난 글 https://daebong-monk.tistory.com/50 GaNaDa - MemoPage 가나다 앱에서는 자신이 학습한 내용을 메모해둘 수 있도록 메모 페이지를 따로 추가해뒀는데, 크게 나를 힘들게 했던 건 아녔었기 때문에 별생각 없이 지나갔나 했지만, 최근 다시 보니 메모해 daebong-monk.tistory.com 1. RatingView AddWordView에서 보면 단어의 난이도를 사용자가 입력할 수 있게끔 별 모양을 선택할 수 있는 것을 볼 수 있다. 여기서는 바인딩을 이용하여 속성에 대한 난이도 등급을 다른 View에서도 영향을 받게끔 하였다. @Binding var rating: Int var label = "" var maximumRating = 5 var offImage..
GaNaDa - Onboarding
·
iOS/개인 프로젝트
이전 글 https://daebong-monk.tistory.com/45 GaNaDa 2번째 이번 이야기부터는 GaNaDa 프로젝트를 진행하면서 기존에 배운 것에서 많은 변화를 주고 싶은 나의 욕심만큼 따라주지 못하는 개발 능력에 대해서 한번 쭉 나열해볼 계획이다. 기존 계획과 현재 daebong-monk.tistory.com 이번 시간부터는 실질적으로 이 앱에서 사용했던 기능을 어떻게 구현하였는지 한번 살펴보자. 가장 먼저 앱을 실행하면 볼 수 있는 Onboarding View 대해서 한번 알아보자. Onboarding View(사용자 설명서 뷰) 보통 이미 출시 되어있는 앱들을 살펴보면 대부분 사용자에게 해당 앱이 어떤 앱인지 설명해주는 페이지 즉 Onboarding 페이지는 설치 이후 처음 실행하고..
GaNaDa 2번째
·
iOS/개인 프로젝트
이번 이야기부터는 GaNaDa 프로젝트를 진행하면서 기존에 배운 것에서 많은 변화를 주고 싶은 나의 욕심만큼 따라주지 못하는 개발 능력에 대해서 한번 쭉 나열해볼 계획이다. 기존 계획과 현재 계획으로 나눠보았고 내부 순서는 각각의 순서에 맞춰 설정해보았다. 1. 기존 계획 1. 가장 먼저 사용자 개개인 마다 언어 학습 능력, 기존에 이미 어느 정도 한글에 대해서 학습해본 경험이 있거나 전혀 없는 사용자에 대비해서 총 3개의 레벨을 나눠 초심자와 중급자 고급자로 설정하여 각 레벨마다 학습할 수 있는 한글의 예제들이 다르게끔 설정하고 싶었다. 예를 들면 초심자의 경우 "안녕하세요", "안녕히 가세요", "맛있어요", "배고파요" 등등 과 같이 한 문장이나 단어 하나로 끝나게끔 하려고 하였다. 2. 모르는 단..
SwiftUI Tutorials - Landmarks(7)
·
SwiftUI & UIKit/Tutorials
이제 앱의 전체적인 레이아웃과 디자인은 개발이 끝이 났다. 이번 시간에는 앱 내에서 사용자가 자신의 개성을 표현할 수 있는 프로필을 만들어 볼 것이다. 바로 시작!🧑‍💻 1. Display a User Profile 첫번째 섹션에서는 세부 정보 및 기본 설정을 로컬에서 저장하게 된다. 사용자가 세부 정보를 편집하기 전에 편집 컨트롤이 없는 요약 보기에 표시된다. 새로운 기능이 추가되는 만큼 이번 섹션에서는 특별한 문법적인 요소는 없고 새로운 파일이 많이 나올 예정이다. 그러고나서 ProfileHost라는 View를 하나 더 추가해준다. 이 뷰의 역할은 프로필 정보의 정적 요약 뷰와 편집 모드를 모두 호스팅 하게 된다. import Foundation struct Profile { var username:..