일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BOJ
- designpattern
- visionOS
- TCA
- swift
- UIKit
- Flutter
- SnapKit
- node.js
- raywenderlich
- Swfit
- Kuring
- 백준
- reactorkit
- MVVM
- CollectionView
- RxSwift
- ios
- 패스트캠퍼스
- WWDC24
- combine
- realm
- arkit
- rxcocoa
- Xcode
- XCTest
- Lv2
- 프로그래머스
- SwiftUI
- tableView
- Today
- Total
목록apple/UIKit & ReactiveX (39)
lgvv98
UICollectionView Sticky Header UITableView처럼 헤더를 붙게 해달라는 요청이 들어왔는데, 해당 키워드로 검색했을 때UICollectionViewFlowLayout을 커스텀 해서 만드는 글들이 많아서 작성 if let layout = self.collectionViewLayout as? UICollectionViewFlowLayout { layout.sectionHeadersPinToVisibleBounds = true // 헤더를 고정} UITableView처럼 헤더를 붙게 사용할 수 있음.
UITableView isSelected, isHighlighted 정리 UITableView에서도 UICollectionView와 동일하게 isSelected가 존재하지만 UICollectionView와 다르게 초기에 셀이 그려질 때 처음에 세팅되고 이후에는 호출되지 않음.UICollectionView와 동작성이 다름.UICollectionView 정리 내용: https://rldd.tistory.com/627 영상을 보면 보이듯이 처음에 isSelected가 호출된 후 그 이후로는 선택해도 해당 변수의 get-set 부분이 호출되지 않음. 예제코드import UIKitimport SnapKitfinal class SmapleTableViewController: UIViewController { ..
UICollectionView isSelected 정리 UICollectionView에서 overrdie isSelected를 통해 상태를 변경할 수 있음사용자가 선택할 때마다 isSelected가 변경됨.주의할 점: isSelected를 override해서 사용하는 경우 버전에 따라 선택 상태가 제대로 UI에 반영되지 않을 수 있음.TableView에서는 동작성이 다름.UITableView 사용성 링크: https://rldd.tistory.com/628호출순서override isSelected (이전에 선택된 아이템)DeSelect (이전에 선택된 아이템)override isSelected (현재 선택된 아이템)didSelect (현재 선택된 아이템)예제코드import UIKitimport Swift..
reloadSections에서 애니메이션 없애는 방법 UITableView 혹은 UICollectionView를 사용할 때 reloadData()가 아니라 특정 섹션만 업데이트하는 reloadSections()를 사용할 수 있음. 특정 섹션만 업데이트 하는 것은 이점도 존재하나, 애니메이션이 들어가게 되어서 원하는 UX 결과물이 아니거나, 방송 실시간 채팅처럼 매우 빠른 속도로 데이터가 들어와 UI를 업데이트가 진행되는 경우 UI가 블락되거나, 심지어는 크래시가 발생하기도 함. Task { @MainActor [weak self] in guard let self else { return } UIView.performWithoutAnimation { self.reloadSections(in..
ReactorKit + RxDataSources #2 (RxTableViewSectionedAnimatedDataSource) 개발환경 ReactorKit 3.2.0 RxDataSources 5.0.2 SnapKit 5.6.0 Xcode 14.0 1편을 기반으로 하고 있습니다. https://rldd.tistory.com/501 ReactorKit + RxDataSources #1(SectionModelType) ReactorKit + RxDataSources #1(SectionModelType) 개발환경 ReactorKit 3.2.0 RxDataSources 5.0.2 SnapKit 5.6.0 Xcode 14.0 RxDataSource는 이전에도 많이 사용해봄. DiffableDataSource를 이해..
ReactorKit + RxDataSources #1(SectionModelType) 개발환경 ReactorKit 3.2.0 RxDataSources 5.0.2 SnapKit 5.6.0 Xcode 14.0 RxDataSource는 이전에도 많이 사용해봄. DiffableDataSource를 이해하고 있다면 사용하기 더 편함. 이 포스팅은 RxDataSources 사용하는 방법의 순서도(?)를 최대한 기록해 두려고 함. 특징: 1. 섹션마다 다른 셀을 적용 2. tableView를 활용하여 동적 높이를 구현함. 3. ReactorKit + RxDataSource 4. cellReactor에 initialState의 값을 Model로 초기화 🌿 결과물 UI 🌿 ✅ 전체 코드 ✅ Step 1. 모델을 정의하기..