GeometryReader
·
SwiftUI & UIKit/SwiftUI의 모든것
SwiftUI에서 GeometryReader는 뷰의 부모가 제공하는 크기와 위치 정보를 제공하여 자식 뷰를 유동적으로 조정할 수 있도록 도와주는 강력한 도구입니다.  GeometryReader란?GeometryReader는 뷰의 레이아웃 정보를 제공하는 컨테이너입니다. 이를 통해 자식 뷰는 부모 뷰의 크기와 위치를 알 수 있으며, 이러한 정보를 기반으로 뷰의 크기와 위치를 동적으로 조정할 수 있습니다.    https://developer.apple.com/documentation/SwiftUI/GeometryReader GeometryReader | Apple Developer DocumentationA container view that defines its content as a function o..
Decodable, Encodable, Codable(CodingKey)
·
SwiftUI & UIKit/Network
Decodable JSON과 같은 외부 representation으로부터 인스턴스를 생성하기 위한 메커니즘을 제공하는 프로토콜 해당 프로토콜을 이용하면 인스턴스를 자동으로 디코딩할 수 있다. EX) - Decodable 사용 구조체 struct User: Decodable { var name: String var age: Int } - JSON 데이터 let json = """ { "name": "nelchupapa", "age": 26 } """.data(using: .utf8)! let decoder = JSONDecoder() let user = try decoder.decode(User.self, from: json) print(user.name) // "nelchupapa" print(user...
Lottie - 앱에 애니메이션을 추가하는 방법
·
SwiftUI & UIKit/라이브러리
스터디 진행 중에 흥미로운 라이브러리인 "Lottie"를 발견하고 앱에 애니메이션을 추가해 보고 이에 따라 발생했던 에러에 대한 해결법을 한번 정리해 보자! 1. Lottie가 무엇인가요? Lottie는 개발자가 모바일 및 웹 애플리케이션에 고품질의 대화형 애니메이션을 추가할 수 있도록 Airbnb에서 만든 오픈 소스 애니메이션 도구이다. Adobe After Effects에서 JSON 파일로 내보낸 벡터 기반 애니메이션을 사용하여 모바일 및 웹 플랫폼에서 기본적으로 애니메이션을 렌더링 하는Android, iOS, 웹 및 Windows용 라이브러리이다. 그럼 여기서 궁금한 것은 애니메이션과 관련된 오픈소스 및 라이브러리는 많은데 왜 굳이 Lottie??라고 생각할 수 있을 것 같다. 주요 차이점은 제작 ..
Table View
·
SwiftUI & UIKit
오늘은 iOS 애플리케이션에서 정보를 리스트 형태로 보여주기 위해 사용되는 테이블뷰에 대해서 알아보자. 이전에 SwiftUI를 이용하여 아이폰 기본 설정 앱을 섹션과 리스트를 주로 이용하여 클론 코딩해 보면서 이것을 UIKit에 적용하게 되면 어떻게 해야 할지 궁금했었는데 오늘은 이를 위해 Table View를 학습해 보고 정리해 보는 시간을 가져보자.  1. 테이블뷰는 무엇인가? 테이블뷰는 리스트 형태를 가지고 있으며 스크롤이 가능해서 많은 정보를 사용자에게 쉽게 보여 줄 수 있다. 기본적인 형태는 아래와 같다. 하나의 열과 여러 줄의 행을 가지고 있으며 수직으로만 스크롤이 가능하다. 각 행은 하나의 cell에 대응된다.섹션을 이용하여 행을 시각적으로 나눌 수 있다. 헤더 및 푸터에 이미지나 텍스트를 ..
Navigation Controller
·
SwiftUI & UIKit
SwiftUI가 아닌 UIKit을 학습하면서 배운 과정을 내가 다시 보기 위해 정리해보기로 했다. 오늘은 Navigation Controller에 대해서 간단하게 구현해보며 배운 것을 정리해 보자!👍  1. UINavigation Controller 이란?UINavigation Controller은 계층 콘텐츠 탐색을 위한 스택 기반 체계를 정의하는 컨테이너 컨트롤러이다. 말로 설명하자면 이해 하기 힘들 수 있으니 바로 예시 사진을 보자. 아이폰을 한번이라도 사용해본 사람이라면 쉽게 봤던 화면 이었을 것이다. 뷰 컨트롤러에서 항목을 선택하면 애니메이션을 사용하여 새 뷰 컨트롤러를 화면에 푸시하고 이전 뷰 컨트롤러를 숨겨 버린다.    아래 이미지는 탐색 컨트롤러와 그 하위에서 관리하는 개체 간 관계를 ..
SwiftUI Tutorials - Landmarks(7)
·
SwiftUI & UIKit/Tutorials
이제 앱의 전체적인 레이아웃과 디자인은 개발이 끝이 났다. 이번 시간에는 앱 내에서 사용자가 자신의 개성을 표현할 수 있는 프로필을 만들어 볼 것이다. 바로 시작!🧑‍💻 1. Display a User Profile 첫번째 섹션에서는 세부 정보 및 기본 설정을 로컬에서 저장하게 된다. 사용자가 세부 정보를 편집하기 전에 편집 컨트롤이 없는 요약 보기에 표시된다. 새로운 기능이 추가되는 만큼 이번 섹션에서는 특별한 문법적인 요소는 없고 새로운 파일이 많이 나올 예정이다. 그러고나서 ProfileHost라는 View를 하나 더 추가해준다. 이 뷰의 역할은 프로필 정보의 정적 요약 뷰와 편집 모드를 모두 호스팅 하게 된다. import Foundation struct Profile { var username:..