$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
UICollectionView 基礎編
Search
sakaue
November 08, 2019
Programming
0
140
UICollectionView 基礎編
社内勉強会で使用した資料です。
Tipstar #1 UICollectionViewの基礎
sakaue
November 08, 2019
Tweet
Share
More Decks by sakaue
See All by sakaue
先端事例「Amazon Chime SDK」を用いた1on1ビデオ通話の構築
tosaka07
0
1.7k
SwiftUIを新規プロダクトで用いた話
tosaka07
2
550
Other Decks in Programming
See All in Programming
目的で駆動する、AI時代のアーキテクチャ設計 / purpose-driven-architecture
minodriven
11
3.9k
Level up your Gemini CLI - D&D Style!
palladius
1
160
AIコーディングエージェント(NotebookLM)
kondai24
0
100
認証・認可の基本を学ぼう前編
kouyuume
0
150
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
410
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
110
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
210
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
490
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
230
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
5
18k
Micro Frontendsで築いた 共通基盤と運用の試行錯誤 / Building a Shared Platform with Micro Frontends: Operational Learnings
kyntk
1
1.9k
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
1.4k
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
960
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
For a Future-Friendly Web
brad_frost
180
10k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
The Pragmatic Product Professional
lauravandoore
37
7k
Transcript
6*$PMMFDUJPO7JFX جૅฤ 5JQTUBS/Pࣾษڧձ !UPTBLB
ΞδΣϯμ w 6*$PMMFDUJPO7JFXͱʁ w Έɾίϯηϓτ w ࣮ w %FMFHBUF w
ߋ৽ύϑΥʔϚϯε
6*$PMMFDUJPO7JFX ͱʁ
None
None
"OPCKFDUUIBUNBOBHFTBOPSEFSFE DPMMFDUJPOPGEBUBJUFNTBOEQSFTFOUT UIFNVTJOHDVTUPNJ[BCMFMBZPVUT
"OPCKFDUUIBUNBOBHFTBOPSEFSFE DPMMFDUJPOPGEBUBJUFNTBOEQSFTFOUT UIFNVTJOHDVTUPNJ[BCMFMBZPVUT σʔλΞΠςϜͷॱং͚ΒΕͨίϨΫγϣϯΛཧ͠ɺ ΧελϚΠζՄೳͳϨΠΞτΛ ༻ɾදࣔ͢ΔΦϒδΣΫτɻ
ͭ·ΓϦετදࣔʁ
ͭ·ΓϦετදࣔʁ ͋ͬͯΔ͚Ͳඍົʹҧ͏
-JTUͰͳ͘$PMMFDUJPO 6*5BCMF7JFXॎܕϦετʹಛԽ 6*$PMMFDUJPO7JFXॎԣάϦουͳΜͰ͟͝Ε
)*($PMMFDUJPOT w ඪ४ͷߦ·ͨάϦουϨΠΞτͰेͳ߹ɺࠜ ຊతͳ৽͍͠σβΠϯΛ࡞͠ͳ͍ w ςΩετͷίϨΫγϣϯͷΘΓʹςʔϒϧΛ༻͢Δ͜ ͱΛݕ౼͢Δ w ಈతͳϨΠΞτͷมߋΛ͢ΔࡍؾΛ͚ͭΔ
https://developer.apple.com/design/human-interface-guidelines/ios/views/collections/
Έɾίϯηϓτ
8FCͷϦετදࣔ6*4DSPMM7JFXͱͷҧ͍ දࣔྖҬͷηϧΠϯελϯεΛੜɾϦαΠΫϧΛߦ͏
8FCͷϦετදࣔ6*4DSPMM7JFXͱͷҧ͍ දࣔྖҬͷηϧΠϯελϯεΛੜɾϦαΠΫϧΛߦ͏ গͳ͍ϝϞϦऑ͍$16Ͱ ύϑΥʔϚϯεΑ͘දࣔ͢ΔͨΊʹඞཁ
ίϯηϓτ w -BZPVU w %BUB4PVSDF w %FMFHBUF
6*$PMMFDUJPO7JFX-BZPVU w ίϯςϯπͷஔ w ϨΠΞτؒͰͷΞχϝʔγϣϯ
6*$PMMFDUJPO7JFX'MPX-BZPVU w 6*$PMMFDUJPO7JFX-BZPVUͷαϒΫϥε w 6*$PMMFDUJPO7JFX%FMFHBUF'MPX-BZPVUFYUFOET 6*$PMMFDUJPO7JFX%FMFHBUF w ϥΠϯϕʔεͷϨΠΞτ
6*$PMMFDUJPO7JFX'MPX-BZPVU w 6*$PMMFDUJPO7JFX-BZPVUͷαϒΫϥε w 6*$PMMFDUJPO7JFX%FMFHBUF'MPX-BZPVUFYUFOET 6*$PMMFDUJPO7JFX%FMFHBUF w ϥΠϯϕʔεͷϨΠΞτ
6*$PMMFDUJPO7JFX%BUB4PVSDF w ίϯςϯπͷఏڙ w ηΫγϣϯͱΞΠςϜͷݸఏڙ
6*$PMMFDUJPO7JFX%FMFHBUF w 0QUJPOBM w 6*4DSPMM7JFX%FMFHBUFͷαϒΫϥε w ͍ΖΜͳ੍ޚ w )JHIMJHIUJOH
w 4FMFDUJPO
6.-
4BNQMF
4BNQMF
4BNQMF
4BNQMF ͻͱ·ͣ͜Εॻ͍ͱΔ͚Ͳɺ ࣮ࡍ͜ΕͬͯͳΜͳΜͩʁ
4BNQMF ͻͱ·ͣ͜Εॻ͍ͱΔ͚Ͳɺ ࣮ࡍ͜ΕͬͯͳΜͳΜͩʁ ͜Εॻ͍͚ͨͩͰͳΜͰ ॻ͍ͨϝιου͕࣮ߦ͞ΕΔΜͩʁ
%FMFHBUFҠৡ
%FMFHBUF େࠇఱ ୭Ͱ͍͍͔Β ଧͪग़ͷখṀΛ ୭͔ʹ;ͬͯ΄͍͠ͳ͊ʜʜ
%FMFHBUF େࠇఱ ୭Ͱ͍͍͔Β ଧͪग़ͷখṀΛ ୭͔ʹ;ͬͯ΄͍͠ͳ͊ʜʜ ϫΠ͕ৼΓ·͢Α ೣ
%FMFHBUF େࠇఱ ͋Γ͕ͱ͞Μʈʈ ೣ
%FMFHBUF େࠇఱ αϯΩϡͳʈʈ ཾ ϫΠৼΓ·͢Α
ίʔυʹͯ͠ΈΔ
ίʔυʹͯ͠ΈΔ 1SPUPDPM ఆٛ͞ΕͨϝιουɺϓϩύςΟΛ ࣮͠ͳ͚ΕͳΒͳ͍
ίʔυʹͯ͠ΈΔ େࠇఱখṀ৮ΕΔ୭͔Λ͍࣋ͬͯΔ͔
ίʔυʹͯ͠ΈΔ ΠϯελϯεԽ
ίʔυʹͯ͠ΈΔ ೣΛେࠇఱʹ͠ͱ͘
ίʔυʹͯ͠ΈΔ େࠇఱ͕ৼΕͬͯݴΘΕͨͷͰʜʜ
ίʔυʹͯ͠ΈΔ େࠇఱࣗͷ͍࣋ͬͯΔ খṀৼΕΔͭʹৼΒͤΔ ʢେࠇఱ୭͔ڵຯͳ͍͠ɺΒͳ͍ʣ
ίʔυʹͯ͠ΈΔ ݁Ռɺຕฦͬͯ͘Δ
6*$PMMFDUJPO7JFX%FMFHBUF 6*$PMMFDUJPO7JFX%BUB4PVSDFҰॹ
%FMFHBUF 6*7JFX$POUSPMMFS͘Μ 6*$PMMFDUJPO7JFX
%FMFHBUF 6*7JFX$POUSPMMFS͘Μ 6*$PMMFDUJPO7JFX ͓͍ɺ6*$PMMFDUJPO7JFX Ϧϩʔυͯ͘͠Ε SFMPBE%BUB
%FMFHBUF 6*7JFX$POUSPMMFS͘Μ 6*$PMMFDUJPO7JFX ྃղͰ͢ʜʜɻ දࣔ͢ΔΞΠςϜͷԿݸͰ͔͢ʁ
%FMFHBUF 6*7JFX$POUSPMMFS͘Μ 6*$PMMFDUJPO7JFX Μʔʜʜ̐̌ݸͰ͢ ྃղͰ͢ʜʜɻ දࣔ͢ΔΞΠςϜͷԿݸͰ͔͢ʁ
%FMFHBUF 6*7JFX$POUSPMMFS͘Μ 6*$PMMFDUJPO7JFX Μʔʜʜ̐̌ݸͰ͢ ྃղͰ͢ʜʜɻ දࣔ͢ΔΞΠςϜͷԿݸͰ͔͢ʁ
%FMFHBUF 6*7JFX$POUSPMMFS͘Μ 6*$PMMFDUJPO7JFX Μʔʜʜ̐̌ݸͰ͢ ྃղͰ͢ʜʜɻ දࣔ͢ΔΞΠςϜͷԿݸͰ͔͢ʁ ͜ΕΜʂ
%FMFHBUF 6*7JFX$POUSPMMFS͘Μ 6*$PMMFDUJPO7JFX 0,Ͱ͢ɻ ϨΠΞτ։࢝͠·͢Ͷɻ ʜʜݸͷ$FMMͷαΠζ͍ͩ͘͞ɻ ͍ɻ
%FMFHBUF 6*7JFX$POUSPMMFS͘Μ 6*$PMMFDUJPO7JFX Μʔʜʜ̐̌ݸͰ͢ ྃղͰ͢ʜʜɻ දࣔ͢ΔΞΠςϜͷԿݸͰ͔͢ʁ ͜ΕΜʂ
%FMFHBUF 6*7JFX$POUSPMMFS͘Μ 6*$PMMFDUJPO7JFX 0,Ͱ͢ɻ ಡΈࠐΈ·͢Ͷɻ ʜʜݸͷ$FMM͍ͩ͘͞ɻ ͍ɻ
%FMFHBUF 6*7JFX$POUSPMMFS͘Μ 6*$PMMFDUJPO7JFX Μʔʜʜ̐̌ݸͰ͢ ྃղͰ͢ʜʜɻ දࣔ͢ΔΞΠςϜͷԿݸͰ͔͢ʁ ͜ΕΜʂ
ͭ·Γʜʜ 6*$PMMFDUJPO7JFXͷඳըϥΠϑαΠΫϧʹ߹Θͤͯɺ Ҡৡ͍ͯ͠Δ%FMFHBUF͔ΒσʔλΛΒ͏ͨΊɺ ϝιουΛୟ͍͍ͯΔɻ
͜ΕͰ%FMFHBUFᘳʂ
ύϑΥʔϚϯε
4BNQMF
4BNQMF ҉తʹSFMPBE%BUB Λߦ͍ͬͯ·͕͢ʜ ΄Μͱʹશ෦Ϧϩʔυ͍͍ͯ͠ͷ͔ʁ
SFMPBE%BUB ͷੑ࣭ w શ෦ಡΈࠐΈ w ύϑΥʔϚϯεѱ͍ w Ξχϝʔγϣϯ͠ͳ͍
ࠩߋ৽͠·͠ΐ͏ʂ
ࠩߋ৽"1* ·ͱΊͯߋ৽Ͱ͖·͢
ҙ w QFSGPSN#BUDI6QEBUFΫϩʔδϟͷهड़ॱʹؔΘΒ ͣɺEFMFUFˠJOTFSUʹͳΔɻ w EFMFUF*UFNT w ߋ৽͕Δલͷ*OEFY1BUIΛݩʹ߱ॱ w JOTFSU*UFNT
w আ͕࣮ߦ͞Εͨ͋ͱͷ*OEFY1BUIΛݩʹঢॱ
ҙ w %FMFUFͱ*OTFSUΛͦΕͧΕશͯूΊΔ w %FMFUFΛ࠷ॳʹ߱ॱͰߦ͏ w *OTFSU࠷ޙʹঢॱͰߦ͏
Ͱࠩͷܭࢉͬͯ໘ʂ
J04 6*$PMMFDUJPO7JFX%J⒎BCMF%BUB4PVSDF
͋Γ͕ͱ͏͍͟͝·ͨ͠
ࢀߟʹͳͬͨαΠτ https://qiita.com/shiz/items/0e363219a0151d790d03 https://dev.classmethod.jp/smartphone/ios-10-uicollectionview-pre-fetching/ https://www.bignerdranch.com/blog/custom-collection-view-layouts-with-tvos-part-1/