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 ...
Search
USAMI Kosuke
July 12, 2023
Programming
1
760
これから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
650
Apple HIG 正式名称クイズ結果発表 / HIG Quiz Result
usamik26
0
200
ゆめみ大技林製作委員会の立ち上げの話 / daigirin project
usamik26
0
340
@ViewLoadingプロパティラッパの紹介と自前で実装する方法 / @ViewLoading property wrapper implementation
usamik26
0
500
Xcodeとの最近の付き合い方のはなし / Approach To Xcode
usamik26
2
690
UICollectionView Compositional Layout
usamik26
0
810
Coding Swift with Visual Studio Code and Docker
usamik26
0
530
Swift Extension for Visual Studio Code
usamik26
2
1.1k
ソリトンとリー代数 / soliton history
usamik26
0
920
Other Decks in Programming
See All in Programming
プロダクト開発をAI 1stに変革する〜SaaS is dead時代で生き残るために〜 / AI 1st Product Development
kobakei
0
490
Local Peer-to-Peer APIはどのように使われていくのか?
hal_spidernight
2
450
dynamic!
moro
9
6.4k
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
920
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
520
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
180
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
220
CSC509 Lecture 03
javiergs
PRO
0
330
私はどうやって技術力を上げたのか
yusukebe
43
17k
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
380
CSC305 Lecture 03
javiergs
PRO
0
230
ソフトウェア設計の実践的な考え方
masuda220
PRO
3
470
Featured
See All Featured
Facilitating Awesome Meetings
lara
56
6.6k
Bash Introduction
62gerente
615
210k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
YesSQL, Process and Tooling at Scale
rocio
173
14k
What's in a price? How to price your products and services
michaelherold
246
12k
BBQ
matthewcrist
89
9.8k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
A designer walks into a library…
pauljervisheath
209
24k
Rails Girls Zürich Keynote
gr2m
95
14k
Writing Fast Ruby
sferik
629
62k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
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