Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
これからUICollectionViewを実践活用する人のためのガイド / Guide to UICollectionView
Search
USAMI Kosuke
July 12, 2023
Programming
1
620
これからUICollectionViewを実践活用する人のためのガイド / Guide to UICollectionView
※ Docswell に移行しました
https://www.docswell.com/s/usami-k/5W1L3X-guide-to-uicollectionview
USAMI Kosuke
July 12, 2023
Tweet
Share
More Decks by USAMI Kosuke
See All by USAMI Kosuke
Onsager代数とその周辺 / Onsager algebra tsudoi
usamik26
0
390
Apple HIG 正式名称クイズ結果発表 / HIG Quiz Result
usamik26
0
72
ゆめみ大技林製作委員会の立ち上げの話 / daigirin project
usamik26
0
250
@ViewLoadingプロパティラッパの紹介と自前で実装する方法 / @ViewLoading property wrapper implementation
usamik26
0
370
Xcodeとの最近の付き合い方のはなし / Approach To Xcode
usamik26
2
540
UICollectionView Compositional Layout
usamik26
0
560
Coding Swift with Visual Studio Code and Docker
usamik26
0
360
Swift Extension for Visual Studio Code
usamik26
2
770
ソリトンとリー代数 / soliton history
usamik26
0
730
Other Decks in Programming
See All in Programming
Try creating your own orderedmap
kazamori
1
270
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
1k
酒飲んでたらテックリードになった話
spbaya0141
0
170
Revisiting the Hotwire Landscape after Turbo 8 @ RailsConf 2024, Detroit
marcoroth
2
460
Folding Cheat Sheet #4
philipschwarz
PRO
0
110
WebGLで始める コンピュータグラフィックス入門
heller77
0
360
TSKaigi 2024 - 新サービス Progate Path の演習で TypeScript を採用して見えた教材観点からの利点と課題
makotoshimazu
1
110
Timeline エディター拡張入門
yucchiy
0
370
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
1.1k
Goのエラースタックトレースの歴史と今後
sonatard
10
2k
Productivity is Messing Around and Having Fun
hollycummins
1
130
Powerfully Typed TypeScript
euxn23
2
590
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
28
4k
Building Applications with DynamoDB
mza
88
5.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
A Philosophy of Restraint
colly
197
16k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Code Review Best Practice
trishagee
56
15k
Designing with Data
zakiwarfel
96
4.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
A Modern Web Designer's Workflow
chriscoyier
689
190k
The Mythical Team-Month
searls
217
42k
Transcript
これからUICollectionViewを 実践活用する人のためのガイド 宇佐見公輔 / 株式会社ゆめみ 2023-07-12 これからUICollectionViewを実践活用する人のためのガイド 1
自己紹介 宇佐見公輔(うさみこうすけ) 株式会社ゆめみ / iOSテックリード 大阪在住 iOSDC Japan 2023 パンフレット記事採択
→ 入稿済 9月に現地参加予定 これからUICollectionViewを実践活用する人のためのガイド 2
今日の内容 UICollectionViewの学びかたを整理し て話します (ポスターセッションで応募しました が、残念ながら不採択でした) これからUICollectionViewを実践活用する人のためのガイド 3
UICollectionViewとは iOS 6で登場 グリッド表示のUIコンポーネント コンテンツの配置が柔軟に行える その柔軟性ゆえに実装の難易度は高め iOS 13〜14で、モダンなAPI群が追加 された これからUICollectionViewを実践活用する人のためのガイド
4
構成要素:UITableViewの場合 Data Source Cell 画面に表示されるぶんだけのデータを取得してセルを生成する仕組み これからUICollectionViewを実践活用する人のためのガイド 5
構成要素:UICollectionView Layout Data Source Cell UITableViewに加えて、グリッド表示などのレイアウトが追加 これからUICollectionViewを実践活用する人のためのガイド 6
実装のための基本 Layout UICollectionViewLayout クラスのサブクラス Data Source UICollectionViewDataSource プロトコルの実装クラス Cell UICollectionViewCell
クラスのサブクラス これからUICollectionViewを実践活用する人のためのガイド 7
レイアウト UICollectionViewLayout クラスのサブクラス ただし、自前で実装するのは大変 標準で UICollectionViewCompositionalLayout が用意されている これでほとんどのレイアウトは実現できる(iOS 13以降) 参考:以前は
UICollectionViewFlowLayout が標準だった 現在も使えるがオススメしない これからUICollectionViewを実践活用する人のためのガイド 8
データソース UICollectionViewDataSource プロトコルの実装クラス 自前で実装するのも難しくない 標準で UICollectionViewDiffableDataSource が用意されている 差分更新の仕組みがあって高機能(iOS 13以降) ただし、使うために学ぶことが少し多い
これからUICollectionViewを実践活用する人のためのガイド 9
セル UICollectionViewCell クラスのサブクラス 自前で実装するのも難しくはない セルの登録・再利用の仕組みも知る必要がある UIContentView と UIContentConfiguration が用意されている セルの実装を安全にする(iOS
14以降) CellRegistration が用意されている セルの登録・再利用の仕組みを安全にする(iOS 14以降) これからUICollectionViewを実践活用する人のためのガイド 10
学ぶ順番:最初のステップ まずは最小限の実装でUICollectionViewを動かす 動かすために必要な要素を少ない労力で揃える これからUICollectionViewを実践活用する人のためのガイド 11
学ぶ順番:最初のステップ Layout UICollectionViewCompositionalLayout の最小限の利用 Data Source 最初は UICollectionViewDataSource プロトコルを自前実装する のがわかりやすい
Cell 最初は UICollectionViewCell のサブクラスを自前実装するのが わかりやすい これからUICollectionViewを実践活用する人のためのガイド 12
学ぶ順番:次のステップ (1) Data Source UICollectionViewDataSource プロトコルの自前実装をやめて、 UICollectionViewDiffableDataSource を使う Diffable Data
Sourceに必要な概念を学ぶ Identifiable / Hashable / Equatable スナップショット これからUICollectionViewを実践活用する人のためのガイド 13
学ぶ順番:次のステップ (2) Cell セルの登録・再利用に CellRegistration を使う セルの実装に UIContentView と UIContentConfiguration
を使う これからUICollectionViewを実践活用する人のためのガイド 14
学ぶ順番:次のステップ (3) Layout UICollectionViewCompositionalLayout をより詳しく学ぶ グループのネスト セクション、アイテムの装飾 これからUICollectionViewを実践活用する人のためのガイド 15
宣伝 UICollectionViewの本を書きました BOOTH、Zennなどで販売中 書ききれなかった内容もあるので、 続編を検討中・・・ これからUICollectionViewを実践活用する人のためのガイド 16