본문 바로가기

분류 전체보기

(351)
114 ~ 115. Tab Bar Controller and Tab Bar Controller Customizing Tab Bar Controller Tab UI를 구현할 때 사용한다. Tab Bar Controller는 광범위하게 사용되고 있는 Controller이다. Tab Bar Controller는 화면 하단의 Tab Bar에는 가지고 있는 Child의 수만큼 Tab Bar Item이 표시된다. 해당 Item을 선택하면 나머지 공간에 각각에 해당되는 Child가 표시된다. Tab Bar에 표시할 수 있는 Item의 수는 iPhone Portrait에서 5개 까지이고, 이를 초과하면 More Item으로 이를 축약되고, 해당 Item을 선택하면 나머지를 선택하거나 순서를 변경할 수 있는 More Navigation이 표시된다. 모든 Child는 연관된 Tab Bar Item을 가지고 있다. Tab Bar Item..
110 ~ 113. Navigation Controller, Navigation Item & Navigation Bar, Customizing Navigation Controller and Toolbar Navigation Controller Navigation Controller는 가장 광범위하게 사용하는 Controller로, iOS 설정 앱이 Navigation controler를 사용한 대표적이 예라고 할 수 있다. Navigation Controller에서 원하는 항목을 선택하면 새로운 화면이 오른쪽에서 왼쪽으로 전환된다. 이런 전환 효과를 Push라고 부른다. 좌측 상단의 돌아가기 버튼을 누르면 이전의 화면이 왼쪽에서 오른쪽으로 전환된다. 이런 전환 효과를 Pop이라고 부른다. Navigation Controller는 항상 Push와 pop으로 화면을 전환한다. Navigation Controller는 Container Controll View에 해당한다. 따라서 실제 컨텐츠를 표현하는 Chi..
108 ~ 109. Orientation, Rotation and Container View Controller Orientation and Rotation iOS는 홈버튼의 위치에 따라서 Device Orientation을 7가지로 구별한다. Portrait 홈버튼이 아래쪽에 위치하는 가장 기본적인 상태이다. Portrait Upside Down 홈버튼이 위쪽에 위치하는 상태이다. Landscape Left 홈버튼이 왼쪽에 위치하는 상태이다. Landscape Right 홈버튼이 오른쪽에 위치하는 상태이다. Face Up 홈버튼이 하늘을 향하는 상태이다. Face Down 홈버튼이 바닥을 향하는 상태이다. Unknown iOS가 Device Orientation을 인식할 수 없는 상태이다. Interface Orientation은 앱이 지원하는 논리적 Orientation이다. 기본적으로 아이패드는 모든 Orie..
105 ~ 107. View Controller, View Management and View Controller Life Cycle View Controller View Controller는 다음의 3가지 역할을 수행한다. 화면에 표시되는 View를 관리한다. 모든 View Controller는 하나의 Root View를 가진다. Root View는 UI를 표시할 Frame을 제공하고, View 계층을 관리한다. 따라서 화면을 구성하는 모든 View는 항상 Root View 아래에 존재한다. Root View에 접근할 때에는 view 속성을 사용한다. Root View 이하에 있는 View에 접근할 때에는 Outlet으로 연결하거나 View Tagging을 사용한다. View에서 발생하는 이벤트를 처리한다. 예를 들어 Button에서 발생한 이벤트는 Controller와 연결해 Action으로 처리한다. Table View의 Data..
103 ~ 104. Reordering Items, Cell Prefetching & Data Prefetching and Refresh Control Reordering Item Collection View는 별도의 편집 모드를 제공하지 않는다. 따라서 Table View와 같은 Reordering Control을 제공하지 않는다. 대신 Pan Gesture를 사용해 이를 구현한다. 셀을 이동시키는 기능과 애니메이션은 이미 구현되어있지만 이동시킬 셀과 Panning 제스처를 추적하는 부분은 직접 구현해야 한다. extension ...: UICollectionViewDataSource { } 먼저 Delegate 메소드를 현하고 Reordering 기능을 활성화시킨다. 해당하는 메소드는 UICollectionViewDataSource 프로토콜에 구현되어있다. 또 다른 방법은 Pan gestureRecognizer를 Collection View와 연결하..
101 ~ 102. Managing the Selection and Edit Rows and Section Managing the Selection // // ManagingSectionViewController.swift // CollectionViewPractice // // Created by Martin.Q on 2021/10/15. // import UIKit class ManagingSelectionViewController: UIViewController { lazy var list: [MaterialColorDataSource.Color] = {(0...2).map { _ in MaterialColorDataSource.generateSingleSectionData() }.reduce([], +) }() lazy var checkImage: UIImage? = UIImage(systemName:..
[2021.10.14] 한계령 (RICOH GR 3x) 서론 RICOH GR 3x / 포지티브 필름 보정 없음(못함) 티스토리 업로드 용량으로 인해 6000*4000 -> 1500*1000 리사이징 본론 결론 카메라는 카메라다. 아직 조작도 익숙하지 않고, 200장에 가까운 사진 중 그나마 볼 만한 초점과 결과물이 나온 사진은 위에 올린 사진들과 가족들을 찍은 사진들 뿐이다. 특히 어머니의 사진이 굉장히 마음에 들게 나왔는데, 동의를 구하지 못해 올리지 못하는 것이 아쉬울 다름... RICOH GR IIIx (리코 GR 3x) 언박싱 그리고 첫 인상 서론 RICOH GR IIIx (리코 GR 3x) 공개, 가격. 서론 코로나가 창궐하기 시작하고, 졸업을 앞두고 있던 2020년 여름. 가정사와 개인사에 잘 풀리지 않는 졸업작품으로 인한 스트레스를 견딜 수 있었..
RICOH GR IIIx (리코 GR 3x) 언박싱 그리고 첫 인상 서론 RICOH GR IIIx (리코 GR 3x) 공개, 가격. 서론 코로나가 창궐하기 시작하고, 졸업을 앞두고 있던 2020년 여름. 가정사와 개인사에 잘 풀리지 않는 졸업작품으로 인한 스트레스를 견딜 수 있었던 건 졸업 이후의 행복한 계획들이었다. 여 chillog.page 얼마 전 GR 3x가 공개됐다는 글을 적은 적이 있었다. 원래 사용하던 77D를 차고 여름휴가 때 들고 갔다가 그 무게 때문에 지옥을 경험하고 급하게 찾게 된 콤팩트 카메라로, 당시에 준수한 접사 능력과, 일상 스냅에 유리한 GR 3에 딱히 특출날 것 없는 디자인이 내 마음을 사로잡았다. 졸업작품을 끝내고 한참 여행의 꿈을 꾸기만 했을 때니 알게 된 건 20년 여름이었고 때마침 스트릿 에디션으로 너무 예쁜 주황색 링을 장착한 파생..
100. Supplementary View Supplementary View Collection View의 Headr와 Footer를 합쳐서 Supplementary View라고 부른다. Flow Layout에서는 섹션의 시작부분과 마지막 부분에 각각 표시된다. Layout 속성과 Delegate 패턴을 통해 크기를 설정할 수 있지만, 스크롤 방향에 따라 제약을 받는다. Vertical 너비가 Collection View의 너비로 고정되고 높이만 설정할 수 있다. Horizontal 높이가 Collection View의 높이로 고정되고, 너비만 설정할 수 있다. 단, Custom Layout을 직접 적용하면 크기와 위치를 자유롭게 지정할 수 있다. Supplementary View는 재사용 메커니즘을 사용한다. 따라서 필요할 때 Collectio..
너도 알고 나도 아는 iOS 팁 03 : iOS 15 날씨앱의 이상한 막대는 뭘 의미할까? 서론 iOS 15 이후로 날씨앱이 대폭 개선됐다. 일전에 Dark Weather를 인수한 영향인지 대기질, 강수량, 대기 변화 등 어마어마한 양양의 데이터를 볼 수 있다. 문제는 이 다양한 정보를 간단하게 제공하려는 과정에서 문제가 생긴다는 건데, 10일 예보와 4*4 사이즈의 위젯에서 표시되는 색색의 막대들이 문제다. 저 막대가 어떤 방식으로 어떤 데이터를 표시하고 있는지 확인해 보자. 본론 온도 사이에 있어서 문제 없이 판단할 수 있듯 해당 막대는 온도를 의미한다. 문제는 막대의 위치와 색, 길이인데 각각 어떤 것을 뜻하는지 보자. 색 막대의 색은 날씨앱의 온도를 더보기 하면 표시되는 해당 그래프를 기준으로 표시한다. 짙은 푸른색 0도 이하의 매우 추운 기온 옅은 푸른색 0도 ~ 15도 사이의 추운 ..