- Apple
- TOSS
- Swift
- GOF
- CollectionView
- 야곰아카데미
- WWDC
- 앱개발
- LanguageGuide
- Split View
- github
- 스위프트
- Accessibility
- orthogonalScrollingBehavior
- 전달인자 레이블
- 디자인패턴
- UILabel
- iTerm
- IOS
- Keychain
- Combine+UIKit
- iPad
- lineBreakMode
- HIG
- UIKit
- 애플
- lineBreakStrategy
- 애플사이다
- Human Interface Guidelines
- DiffableDataSource
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Today
- Total
목록분류 전체보기 (81)
애플사이다의 iOS 개발 일지
Dictionary의 value 타입을 옵셔널로 지정하고, value에 nil을 할당하려면 어떻게 해야 할까? 궁금해서 구글링 해봤는데, StackOverFlow에서 간단히 답을 찾을 수 있었다. - 검색 키워드 : how to save nil at dictionary value in swift - Reference : How to add nil value to Swift Dictionary? Dictionary 기본 문법 일반적으로 Dictionary는 이렇게 다룬다. // Dictionary 생성 var juices: [String: String] = ["Apple": "Applecider", "Lemon": "Lemonade"] // ✅ key/value pair 삭제 juices["Lemon"] ..
애플워치5를 쓰다가 스크린에 너무 기스가 많아서 애플케어 보증기한을 1개월 앞두고 센터를 찾았다. 애플워치의 보증기간은 아이폰에서 Watch 앱 > 일반 > 정보 탭에 들어가면 확인할 수 있다. 공인 센터에 미리 예약을 하고 방문해야 한다. 애플워치 리퍼 신청 스크린이 박살난 게 아니라서 생활 기스만으로 리퍼가 가능할지 긴가민가 했었는데, 의외로 제품 교환이 가능하다는 답변을 받았다. 자부담금은 8만원이었다. (2021년 11월 이후부터 무상교환이 안된다.) *리퍼 관련 상세 내용은 여기를 참고 애플워치는 고장 나면 부분 수리가 불가하고, 무조건 새 제품으로 교환이 원칙이라고 한다. 그리고 "리퍼 제품으로 교환"이라고 안내를 받았는데, 센터에 여쭤보니 교환 목적의 리퍼 제품이라는 게 따로 없고, 애플워치..
CHCR은 Compression-Resistance 및 Content-Hugging를 뜻한다. 화면에 여러 가지 View를 나타내는 경우, 이 CHCR 값을 조정하게 되는데 (특히 StackView 내부에 여러 가지 View를 ArrangedSubviews로 올리는 경우) 관련 개념을 알아보다가 공식문서에서 몇몇 오류를 발견해서 정리해봤다. 🍎 Intrinsic Size란? 원래는 View의 위치 및 크기 (Origin 및 Size)를 모두 지정해줘야 하는데, 📐 일부 View는 View 내부의 컨텐츠에 따라 자체적으로 Size를 가지도록 되어있다. 이걸 Intrinsic Size (내재적인 크기, 자체적인 크기)라고 부른다. 예를 들어 Button의 Intrinsic Size는 뭘까? “Button..
저번 포스팅 [CollectionView] Diffable DataSource 이해하기 (3/3) - 상품 배너/목록/상세 화면을 구현한 예제코드에서 이미 다뤘지만, 글이 너무 길어져서 이 부분만 따로 포스팅하려고 한다. 아래 화면처럼 배너 하단에 PageControl을 구현해보자. 배너를 왼쪽 오른쪽으로 Scroll 하면, PageControl이 바뀌는 것을 볼 수 있다. 이번 예제코드에서는 CompositionalLayout, orthogonalScrollingBehavior, PageControl, RxSwift를 활용했다. 첫째, 배너를 Horizontal Scroll할 때 화면에 보이는 "현재 페이지 index"를 PageControl에 전달하는 작업, 그리고 둘째, PageControl의 위치..
CollectionView의 CompositionalLayout에서 estimatedHeight를 사용해봤다. Item / Group의 크기를 고정하지 않고, Cell 내부 컨텐츠의 높이를 알아서 계산하여 반영해주므로 매우 유용하다. *예제코드는 [CollectionView] Diffable DataSource 이해하기 (3/3) - 상품 배너/목록/상세 화면을 구현한 예제코드 포스트를 참고 그런데 약 iOS 15.0~15.3에서crash가 발생했다. 에러 문구는 아래와 같다. is stuck in its update/layout loop. This can happen for many reasons, including self-sizing views whose preferred attributes ar..
DiffableData을 처음 들어봤다면, [CollectionView] Diffable DataSource 이해하기 (1/3) - Advances in UI Data Sources (WWDC19) 포스팅을 참고 [CollectionView] Diffable DataSource 이해하기 (2/3) - 흔히 하는 실수, Modern Collection Views 예제코드 포스팅을 참고 orthogonalScrollingBehavior을 처음 들어봤다면, [CollectionView] Section마다 다른 Scroll Direction 설정하기, Carousel Paging 구현하기 (feat. AppStore) 포스팅을 참고 이전 포스팅에서 다룬 내용을 써먹어보자. CollectionView의 Diffa..
아래의 AppStore처럼 화면을 구현하려면 어떻게 할까? 일반적인 E-commerce 앱에서도 "상품 배너"와 "상품 목록" 화면을 이런 형태로 구현한 것을 자주 볼 수 있다. 화면을 살펴보면 ✅ 맨 위의 Section은 Horizontal Scroll을, 그 아래 Section들은 Vertical Scroll을 하도록 되어있다. 즉, 동일한 CollectionView 내에서 "Section마다 Scroll Direction을 다르게" 지정하고 있다. 그리고 ✅ Horizontal Scroll을 할 때, Cell이 한 칸씩 일정하게 움직이고, 양옆의 Item이 살짝 보인다. 이렇게 Cell이 한 칸씩 일정하게 Scroll되는 화면을 뭐라고 부를까? Paging, Pagination, Carousel P..
저번에는 [CollectionView] Diffable DataSource 이해하기 (1/3) - Advances in UI Data Sources (WWDC19) 포스팅에서 Diffable DataSource의 장점과 기초 개념을 알아봤다. 이번에는 Implementing Modern Collection Views 예제 코드를 보면서 이해도를 높여보자. 흔히 하는 실수-1 Diffable DataSource는 간단해 보이지만 막상 써보면 막히는 부분이 있는데, 보통 프로젝트에서는 여러 종류의 Section을 사용하거나, 여러 종류의 Custom Cell을 쓰기 때문인 것 같다. 특히 처음 사용할 때 가장 흔히 발생하는 문제가 ❗ "여러 Section에 동일한 Item을 반영하는 것" 때문이다. 이 경..