일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- TCA
- network
- combine
- SWIFTUI
- iOS 개발자
- Git
- xcodecloud
- composablearchitecture
- regex
- uikit
- 모바일
- Alamofire
- 개발
- Firebase
- tuist #xcodecloud #ios #ci/cd #swiftlint #firebase
- xcode
- github
- Tuist
- 정규표현식
- navigationsplitview
- ObjC
- ios18
- concurrency
- swiftdata
- SWIFT
- UI
- Navigation
- IOS
- iOS 13.0+
- test
- Today
- Total
목록UIKit (8)
iOS 개발 기록
📄목차preferredMaxLayoutWidthIntrinsicContentSizeinvalidateIntrinsicContentSize()PriorityContent Hugging Priority Content Compression Resistance PriorityReference preferredMaxLayoutWidth여러 줄의 UILabel에 적용될 수 있는 프로퍼티. UILabel의 최대 너비를 설정한다. 최대 너비를 넘어가는 경우 UILabel은 새로운 줄로 개행하며 높이를 증가시킨다. preferredMaxLayoutWidth를 설정해서 일정한 텍스트 레이아웃을 정렬하거나 적절한 레이아웃을 유지할 수 있다. Storyboard에서는 Desired Width에서 설정할 수 있다 . 이미지에서..
📄목차CollectionView에 Combine 적용하기 DiffableDataSource를 사용한 이유 UICollectionView CollectionView 기본 레이아웃 설정 Combine PublisherModelAPI request Publisher를 구독하고 diffableDataSource에 업데이트ViewModel CollectionView에 데이터를 적용 결과Reference CollectionView에 Combine 적용하기 RxSwift + RxCocoa 조합처럼 보통 Combine + SwiftUI 조합으로 많이 쓰인다고 한다. 그런데 회사에서는 UIKit을 사용중인데 Combine + UIKit 조합은 어떻게 사용하나 공부하다가 자주 사용하는 CollectionView에 적용해 ..
📄목차Collection View UICollectionViewDelegate, UICollectionViewDataSourceModern Collection View (iOS 13.0+) UICollectionViewDiffableDataSourceUICollectionViewLayout UICollectionViewFlowLayoutUICollectionViewCompositionalLayout (iOS 13.0 +)전체 코드 Reference Collection View UICollectionViewDelegate, UICollectionViewDataSource class ViewController: UIViewController { @IBOutlet weak var collectionView: ..
📄목차Compositional Layout구성Item cell 구현 SupplementaryView의 구현전체 코드ReferenceCompositional LayoutiOS 13.0에 도입된 UICollectionView의 새로운 레이아웃. 다음과 같은 특징이 있다고 한다. 기존의 UICollectionViewFlowLayout보다 더 확장된 레이아웃 제공Item 정의 -> Group 정의 -> Section 정의 순으로 순으로 진행해 간다.아래의 그림과 같이 여러 섹션으로 나누어 각 섹션끼리 관리 가능. 섹션별로 다른 레이아웃을 구성하기 쉬워진다. : 요즘 많이 보이는 다음과 같은 뷰를 View를 구현하기 편해진다. 구성Collection view의 구성 Supplementary view가 위치할 수 ..
📄목차iOS의 UIStructureUIScreenUIWindowSceneUIWindowWindow와 Scene의 개념Window SceneAppDelegate와 SceneDelegate참고 iOS의 UIStructureiOS의 View 계층 UIScreen기기의 실제 물리적인 스크린. UIWindowScene 얘가 Scene을 관리하는 객체. 하나 이상의 window를 포함한다.iOS13 이상부터 생긴 SceneDelegate를 보면 UIWindowSceneDelegate 프로토콜을 채택했는데, Scene에 변화가 생길 경우 delegate를 통해 변화를 알린다. UIWindow이벤트들을 뷰로 보내주는 객체. UIV Window와 Scene의 개념Window UIView의 하위클래스. View를 담는 컨..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/PYPn6/btrDGdGS9yh/YDGACprq4n8qBADCkreHkk/img.png)
개요 앱은 하나 이상의 뷰로 구성되어 있으며, 각각의 뷰들은 라이프 사이클을 가지고 있다. 때문에 뷰의 라이프 사이클을 고려해서 로직을 구성해야 한다. ViewDidLoad 뷰 계층이 메모리에 로드된 직후 시스템에 의해 자동으로 호출된다. 일반적으로 리소스를 초기화 하거나 초기화면을 구성하는 용도로 주로 사용한다. 처음 화면이 만들어질 때 한번만 실행되므로 초기화 코드 작성한다. 메모리에서 뷰가 사라지지 않는 이상 다시 호출되지 않는다. ViewWillAppear 뷰가 나타나기 직전에 항상 호출된다 다른 뷰로 갔다가 돌아올 때 하고 싶은 작업을 실행 화면이 나타날 때마다 수행해야 하는 작업을 여기에 구현 ViewDidAppear 뷰가 나타난 뒤에 실행. 데이터를 화면에 뿌려주거나 애니메이션 등의 뷰를 나..
1. Storyboard 정의 : 여러 애플리케이션 뷰들의 전환을 레이아웃 하기 위한 방법, Storyboard 사용 유무 설명 사용할 때 - 다수의 서로 연결된 뷰 컨트롤러의 이동할 때에 경우, 네비게이션의 흐름(pop, push, present, dismiss 등)을 쉽게 해줌 - 뷰 컨트롤러가 자동으로 생성되므로 alloc이나 init을 해줄 필요 없음 - 테이블 뷰 컨트롤러의 이점으로는, 셀을 함께 디자인해서 테이블뷰와 함께 둘 수 있으며 여러 형태의 셀 템플릿을 디자인할 수 있음 사용하지 않을 때 - 복잡한 레이아웃을 가진 뷰일 경우 (코드 추천) - 뷰가 이미 XIB이나 코드로 개발 되어 있을 때 장점 / 단점 설명 장점 - 성능 : 퍼포먼스로는, 최초 뷰컨트롤러 하나만 생성된 후 나머지 연결..
Auto Layout의 장단점은? 1. auto layout의 정의 : 제약조건(Constraints)을 이용해서 뷰의 위치를 지정하는 것. 다시 말하면 두 뷰의 사이의 관계를 제약 조건을 이용해 뷰의 크기와 위치를 지정하는 것. 여러 해상도를 지원하기 위해 나옴. 2. frame layout과의 비교 Frame Layout Auto Layout 방법 전통적인 방식. 각 View의 크기와 위치를 계산해 배치. 변경이 발생하면 모든 뷰의 프레임을 다시 계산. 뷰의 관계(제약조건)을 이용하여 표현. 제약조건을 기반으로 크기와 위치 계산. 장점 어떤 변화가 생겨도 대응할 수 있음. 단점 모든 변경 사항을 직접 관리해야하기 때문에 에너지가 많이 필요. 디버그, 유지 관리까지.