iOS (115) 썸네일형 리스트형 [iOS] WidgetKit 공식 문서 내용정리 WidgetKit iOS 홈 화면 또는 macOS 알림 센터에 앱과 관련된 컨텐츠를 표시하도록 도와주는 Extension. Overview 위젯킷은 iOS 홈 화면 또는 macOS 알림 센터에 배치하여 사용자가 앱의 컨텐츠에 즉시적으로 접근할 수 있도록 한다. 위젯은 최신 상태를 유지하므로 사용자는 항상 최신 정보를 한 눈에 살펴볼 수 있다. 3가지 사이즈(small, medium, large) 사이즈를 제공하며 이를 통해 앱 내 정보를 디스플레이할 수 있다. 또한 유저는 위젯을 개인화하여 필요에 따른 디테일한 내용을 볼 수 있다. 또한, Smart Stack & Smart Rotate 을 사용하면 여러개의 위젯을 스택 쌓듯 중첩할 수 있으며 업데이트 시간에 맞춰 사용자가 정확한 시간에 적절한 앱의 대한.. [iOS] SwiftUI 리스트와 네비게이션 SwiftUI 리스트와 네비게이션 List는 이름 그대로 수직 방향의 목록 형태로 사용자에게 정보를 제공한다. 기존의 UIKit 에서의 TableView 와 매우 흡사하다. List 뷰에서 각 항목을 터치했을때 다음 페이지로 전환하는 방식은 네비게이션을 이용한다. 네비게이션은 NavigationView 컴포넌트와 NavigationLink 컴포넌트를 사용하여 구현한다. List 뷰는 정적 데이터와 동적 데이터를 모두 표현할 수 있으며 추가, 삭제, 리오더링 등의 작업을 할 수 있도록 확장되기도 한다. SwiftUI 리스트 List 뷰에는 셀에 포함된 하나 이상의 뷰의 각 행을 수직 방향으로 목록화한다. 아래 예시를 살펴보자. struct ContentView: View { var body: some Vi.. [iOS] State 와 Observable State 와 Observable 우리가 공부해 온 SwiftUI는 데이터 주도적 방식 이라고 했다. 이는 데이터와 UI 내 뷰 사이에 Publisher - Subscriber 모델이 존재하기에 가능한 일이다. 이를 위해 SwiftUI는 상태 프로퍼티, Observable 객체, 그리고 Environment 객체를 제공하며 이들 모두는 UI의 모양과 동작을 결정하는 상태를 제공한다. SwiftUI 내에서 UI 레이아웃을 구성하는 뷰는 코드 내에서 직접 업데이트하지 않는다. 대신에, 뷰와 바인딩된 상태 객체가 시간이 지남에 따라, 현재 뷰 상황에 따라 그 상태가 자동으로 업데이트된다. 이번에는 상태 프로퍼티, Observable 객체, Environment 객체에 대하여 공부해보도록 한다. 상태 프로퍼티 .. [iOS] SwiftUI 스택 그리고 프레임 SwiftUI 스택 그리고 프레임 UI 설계는 적절한 컴포넌트를 선택하고 뷰를 어떻게 배치할 지 결정한 뒤, 서로 다른 화면간 뷰들 간 이동을 구현하는 것이다. 앞서 살펴봤듯, SwiftUI에는 토글 뷰, 텍스트 필드, 버튼, 레이블, 슬라이더 등 앱 개발에 필요한 다양한 종류의 인터페이스 컴포넌트를 내장하고 있다. 또한 UI 구성방법과 화면의 방향 및 크기에 따라 대응하는 방법을 정의하는 레이아웃 뷰를 제공한다. 이번에는 대표적인 컨테이너 뷰 StackView 에 대하여 알아보며, UI를 보다 쉽게 설계하는 방법에 대해 알아보도록 한다. SwiftUI 스택 SwiftUI 가 기본적으로 제공하는 스택은 VStack(수직), HStack(수평), ZStack(중첩) 이 존재한다. 스택은 이름 그대로 차곡차.. [iOS] SwiftUI CustomView SwiftUI로 커스텀 뷰 만들기 SwiftUI 뷰를 사용함과 동시에 커스텀 뷰를 만들어 자신이 원하는 UI 레이아웃을 어떻게 선언하는지 배워본다. SwiftUI 뷰 UI 레이아웃은 뷰 사용과 생성, 그리고 결합을 통해 SwiftUI로 구성된다. 뷰는 View 프로토콜을 따르는 구조체로 선언된다. 구조체가 View 프로토콜을 준수하기 위해서는 body 프로퍼티를 가지고 있어야 하며, body 프로퍼티 안에 뷰가 선언되어야 한다. SwiftUI에는 UI를 구축할 때 사용될 수 있는 다양한 뷰 (ex: TextLabel, TextField, Menu, Toggle...etc) 가 내장되어 있다. 해당 뷰들은 모두 View 프로토콜을 준수하는 독립적인 객체다. 기본 뷰 생성 SwiftUI 프로젝트를 생성하면 .. [iOS] SwiftUI 개요 SwiftUI 개요 2019년 애플의 WWDC에서 처음 소개된 SwiftUI는 모든 애플 운영체제용 앱을 개발하는데 있어 완전히 새로운 패러다임을 제시하였다. SwiftUI의 기본적 목적은 앱 개발을 기존 방식보다 쉽고 효율적으로 함과 동시에 소프트웨어 개발시 발생하는 일반적인 버그들을 줄이는 것이다. SwiftUI의 수많은 장점은 선언적 구문 과 데이터 주도에서 비롯되며 이번 페이지에서 공부할 핵심적인 주제다. UIKit 그리고 Interface Builder 선언적 구문(Declarative Syntax) 에 대한 의미 그리고 장점을 이해하기 위해서는 UI 레이아웃이 SwiftUI 이전에는 어떠한 방식으로 설계되었는지 이해하는 것이 바람직하다. SwiftUI 도입 이전에는 iOS Software De.. [iOS] TableView UITableView 본 문서에서는 apple 에서 제공하는 UITableView 공식 문서에 기재되어 있는 메소드와 프로퍼티에 관하여 정리한다. Topics Creating a table View init(frame: CGRect, style: UITableView.style) : 주어진 특정 frame 크기와 style에 맞춰서 테이블뷰를 생성하여 반환한다. Providing the Table's Data and Cells var dataSource: UITableViewDataSource? : 테이블뷰의 데이터 소스 역할을 하는 객체다. var prefetchDataSource: UITableViewDataSource : 테이블뷰의 prefetch 데이터 소스 역할을 하는 객체, 사용할 셀 데이터의.. [iOS] ARC and Strong, Weak, Unowned RC RC란, Reference Counting 의 약자로 애플에서 메모리를 관리하는 방법이다. 메모리를 할당하거나, 메모리 포인터를 참조할 때, 레퍼런스 카운트를 증가시키고 사용을 완료하면 레퍼런트 카운트가 감소된다. 이러한 메모리 관리 기법이 기존에는 manual하게, 개발자에 의해 수동으로 진행되었다. 이후 이를 자동으로 관리해주는 기능이 iOS 4부터 제공되기 시작했으며 이를 ARC(Automatic Reference Counting)이라고 한다. ARC 참고로 애플리케이션은 Compile -> Linking -> Runtime 이렇게 3 단계를 거쳐서 빌드되고 만들어진다. 스위프트 공식 문서에 의하면 "Swift는 ARC를 사용하니 메모리 관리를 생각할 필요가 없다." 라고 한다. 하지만, 메모.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 15 다음