์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- swift
- BOJ
- tableView
- Kuring
- Flutter
- node.js
- UIKit
- designpattern
- Swfit
- MVVM
- ios
- SwiftUI
- rxcocoa
- XCTest
- Xcode
- reactorkit
- arkit
- Lv2
- RxSwift
- ํ๋ก๊ทธ๋๋จธ์ค
- visionOS
- CollectionView
- combine
- ๋ฐฑ์ค
- raywenderlich
- ํจ์คํธ์บ ํผ์ค
- SnapKit
- TCA
- BFS
- realm
- Today
- Total
๋ชฉ๋กCollectionView (9)
lgvv98
UICollectionView CompositionalLayout ๊ณต์๋ฌธ์๋ฅผ ์ด์๋๋ฐ ์ํ์ฝ๋๊ฐ 14.0 ์ด์์ผ๋ก ๋์ด. - ๊ธ ์ ์ผ ํ๋จ์ ์ฐธ๊ณ ๋ถ๋ถ์ ์์ ์ทจ์ ์ค๋นํ๋ฉด์ 13.0์ ๊ธฐ์ค์ผ๋ก ๊ณต๋ถํ๊ณ ์์ด์ Xcode๋ฅผ ํตํด ์ด์ด๋ณด๋๊น ๋คํํ๋ 13.0 ์ด์์์๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ์ ์ด์ ์๋ DataSource๋ง SnapShot์ ์ฌ์ฉํ๊ณ ๋ ์ด์์์ FlowLayout์ ์ฌ์ฉํ์๋๋ฐ, ์ด ๋ถ๋ถ๋ง์ ๋ ๊ณต๋ถํด๋ณด๋ ค๊ณ ํจ. โ SnapShot + FlowLayout ํฌ์คํ 2022.09.04 - [iOS] - [iOS] UICollectionView์ ๋ํด์ ์์๋ณด๊ธฐ 7ํธ (UICollectionViewDiffableDataSource) [iOS] UICollectionView์ ๋ํด์ ์์๋ณด๊ธฐ 7ํธ (UICo..
UICollectionView์ ๋ํด์ ์์๋ณด๊ธฐ 6ํธ (Realm, async, await, Delegate) ๋๋์ด 6ํธ์ด๋ค! ์ฌํด ๋ด, ๊ธฐ๋ณธ๊ธฐ์ ๋ถ์กฑํจ์ ๋๋ฌด ํฌ๊ฒ ๋๊ปด์, ๊ธฐ๋ณธ๊ธฐ๋ถํฐ ๋ค์ ๋์๋ณด๋ ์๊ฐ์ ๊ฐ์ก๋๋ฐ, ์ด๋ฒ์ Realm๊ณผ FelxLayout, PinLayout ๋ฑ์ ํ์ตํ๋ฉด์ ํ์คํ ์ด์ ๋ณด๋ค ๋ ๋น ๋ฅด๊ณ ์(?) ์ดํด๊ฐ ๋๋ ๊ฒ ๊ฐ๋ค. ๋ชจ๋ ์ฝ๋๋ SPM์ผ๋ก ๋น๋๊ฐ ๊ฐ๋ฅํ ์ํ๋ก ์ฌ๋ ค๋๋ฆฝ๋๋ค. (์ฃผ์๋ด์ฉ) ์ด๋ฒ์๋ Realm๊ณผ Delegate๋ฅผ ํ์ฉํด์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋์ง ์์๋ณด๊ณ async, await์ ํ์ฉํด์ ํด๋ก์ ๋ฅผ ์์ ๊ณ , RxSwift๋ ์ ๋ฌถ์ด๋ณด์! ๐ฟ UI ๊ฒฐ๊ณผ๋ฌผ ๐ฟ ์ ๋ด์ ์ ๋ฐ์ดํธ ๋ฒํผ์ด ์์นํ๋ค. ์ฆ, ์ ๋ด์์ CRUD์์ ์ค UD์ ํด๋นํ๋ ์์ ์ ์ฒ๋ฆฌํ๋ค. (CR์..
UICollectionView์ ๋ํด์ ์์๋ณด๊ธฐ 5ํธ (๋ถ๋งํฌ ๊ตฌํ ๋ฐ ๋ชจ๋ธ ๊ด๋ฆฌ) ์ด๋ฒ์๋ bookmark ๊ธฐ๋ฅ์ ๊ตฌํํด ๋ณผ ์์ ์ด๋ค. ์ด์ ์๋ ๋ถ๋งํฌ๋ฅผ ๊ตฌํํ์๊ณ , ๋ชจ๋ธ์ ์ ๋ง๋ค์ด์ ๊ด๋ฆฌํ๊ณ ์์๋ค. ๊ทธ๋ฌ๋๊น ๊ธฐ๋ก์ฉ์ ์๋ฏธ๊ฐ ๋ ํผ! UI ์ฐ์ ๋ชจ๋ธ์ ๋ณ๊ฒฝํ๋ค. ์๋ฒ์์ ๋ด๋ ค์ค๋ ๋ฐ์ดํฐ๋ id, name, avatar, job, age๋ฟ์ด์ง๋ง, isBookmark๋ฅผ ์ถ๊ฐํด์ ๋ถ๋งํฌ ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ํ๋กํผํฐ๋ฅผ ๋ง๋ค์๋ค. Equtable์ ์ฑํํด์ ๋ฉค๋ฒ์ ๊ตฌ์กฐ์ฒด์ 5๊ฐ์ง ์ ๋ณด๊ฐ ๋ค ๊ฐ์ผ๋ฉด ๊ฐ์ ๊ฐ์ฒด๋ก ํ๋จํ๊ฒ ํ๋ค. ์ฌ๊ธฐ MemberAPI๊ฐ Member์ ํด๋นํ๋ ์กฐํฉ์ ์ผ์ ํ๊ฒ ์ฃผ๋๊ฒ ์๋๋ผ, id, name, avatar, job, age๋ฅผ ๋๋คํ๊ฒ ์กฐํฉํด์ ์ฃผ๋๊ฒ ๊ฐ์๋ค. id๋ ๊ณ ์ ๊ฐ์ด ์๋๋ผ ..
UICollectionView์ ๋ํด์ ์์๋ณด๊ธฐ 1ํธ ์ด ๋ฌธ์๋ฅผ ์์ฑํ๋ ์ด์ ๋ ๊ฐ์ธ์ ์ผ๋ก TableView๋ณด๋ค CollectionView๊ฐ ๋ฒ์ฉ์ฑ์ด ๋ ์ข๋ค๊ณ ์๊ฐํ๊ณ ์์ต๋๋ค. ํ ์ด๋ธ ๋ทฐ๋ฅผ ์ปฌ๋ ์ ๋ทฐ๋ก ๋ณํํด์ผํ ๋ ๋๋ ๋น์ฉ์ ์๊ฐํ์ ๋, ๊ทธ๋ฅ ์ปฌ๋ ์ ๋ทฐ๋ก ๋ง๋๋๊ฒ ๋ ๋ซ๋ค๊ณ ํ๋จํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌด์๋ณด๋ค๋,, ์ด ๋ฌธ์๋ฅผ ์ ๋ฆฌํ๋ ๊ฐ์ฅ ํฐ ์ด์ ๋ MVVMํจํด์ ๊ธฐ๋ณธ์ผ๋ก ๊ฐ๋ฐ์ ์งํํ์ง๋ง, Cell์ ๋์ MVC๋ก ์์ ํด ์์ต๋๋ค.(๊ทธ ์ด์ ๋ ์๋ง๋, Cell์ ๋ง์ ์ ๋ณด๊ฐ ๋ด๊ฒจ๋ณธ ์ ์ด ์์๊ธฐ ๋๋ฌธ) ReactorKit์ ๊ณต๋ถํ๋ฉด์ Cell์ ๊ตณ์ด Reactor๊ฐ ํ์ํ๊ฐ ์ถ์๋๋ฐ, RxTodoํ๋ฉด์ ๋ณด๋๊น ํ์ํ๋๊ตฐ์! ์๋ฌดํผ ์ปฌ๋ ์ ๋ทฐ๋ฅผ ์ฒ์๋ถํฐ ์ ์ ๋ฆฌํด ๋ด ์๋ค!! (๋ชฉํ) - UICollect..
collectionViewCell ์ฌ์ด์ ๊ณต๋ฐฑ์์ ๊ธฐ โ collectionViewCell ์ฌ์ด์ ๊ณต๋ฐฑ์์ ๊ธฐ ์๋์ ์ฝ๋๋ฅผ ์ ์ธํ๋ฉด ์ ๋ ๊ฒ ๋น ๊ณต๊ฐ์ด ์๊ธฐ๊ฒ ๋๋ค. var calendarList: UICollectionView = { let layout = UICollectionViewFlowLayout() let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout) collectionView.register(CalendarCell.self, forCellWithReuseIdentifier: CalendarCell.identifier) collectionView.isScrollEnabled = false collectio..
Device width, height in safeAreaLayoutGuide โ ๋๋ฐ์ด์ค์์ width์ height๋ฅผ ๊ตฌํด๋ณด์. ์๋ ์ด๊ฑธ ์ ํ๋๋ฉด ๋ด๊ฐ ๋ค๋ฅธ ์ฑ์ ์ฌ์ฉํ๊ณ ์๋๋ฐ, ๊ฐ์๊ธฐ ๋๋ฌด ๊ถ๊ธํ์ ๋๋ฐ์ด์ค์ ํฌ๊ธฐ๋ UIScreen.main.bounds.widht UIScreen.main.bounds.height ์์ ์ฝ๋๋ก ๊ตฌํ ์ ์๋ค. ๋ค๋ง, safeArea์ ๋ํ ๋ถ๋ถ์ ๊ณ ๋ คํ์ง ์์์ ๋ด๊ฐ ์ํ๋ UI๊ฐ ๋ํ๋์ง ์์ ์ ์๋ค. ํนํ collectionView์ฌ์ฉ์์ ๋์ฑ ๊ทธ๋ฌ๋๋ฐ ์๋์ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํด์ฃผ๋ฉด safeArea๋ฅผ ๊ณ ๋ คํ ์ ์๋ค. func collectionView(_ collectionView: UICollectionView, layout collectionViewL..