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
700
これから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
550
Apple HIG 正式名称クイズ結果発表 / HIG Quiz Result
usamik26
0
130
ゆめみ大技林製作委員会の立ち上げの話 / daigirin project
usamik26
0
290
@ViewLoadingプロパティラッパの紹介と自前で実装する方法 / @ViewLoading property wrapper implementation
usamik26
0
430
Xcodeとの最近の付き合い方のはなし / Approach To Xcode
usamik26
2
620
UICollectionView Compositional Layout
usamik26
0
700
Coding Swift with Visual Studio Code and Docker
usamik26
0
460
Swift Extension for Visual Studio Code
usamik26
2
930
ソリトンとリー代数 / soliton history
usamik26
0
820
Other Decks in Programming
See All in Programming
わたしの星のままで一番星になる ~ 出産を機にSIerからEC事業会社に転職した話 ~
kimura_m_29
0
180
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
550
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
210
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
5
670
「Chatwork」Android版アプリを 支える単体テストの現在
okuzawats
0
180
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
0
130
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
210
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.7k
たのしいparse.y
ydah
3
120
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
110
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Designing for Performance
lara
604
68k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Why Our Code Smells
bkeepers
PRO
335
57k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Documentation Writing (for coders)
carmenintech
66
4.5k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Producing Creativity
orderedlist
PRO
341
39k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
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