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 基礎編
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
sakaue
November 08, 2019
Programming
140
0
Share
UICollectionView 基礎編
社内勉強会で使用した資料です。
Tipstar #1 UICollectionViewの基礎
sakaue
November 08, 2019
More Decks by sakaue
See All by sakaue
先端事例「Amazon Chime SDK」を用いた1on1ビデオ通話の構築
tosaka07
0
1.7k
SwiftUIを新規プロダクトで用いた話
tosaka07
2
560
Other Decks in Programming
See All in Programming
Making the RBS Parser Faster
soutaro
0
660
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
660
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
120
10 Tips of AWS ~Gen AI on AWS~
licux
5
540
GoogleCloudとterraform完全に理解した
terisuke
1
190
Oxlintとeslint-plugin-react-hooks 明日から始められそう?
t6adev
0
320
実用!Hono RPC2026
yodaka
2
300
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
470
My daily life on Ruby
a_matsuda
2
180
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
970
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
1.5k
Firefoxにコントリビューションして得られた学び
ken7253
2
150
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
130
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
380
A better future with KSS
kneath
240
18k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
How GitHub (no longer) Works
holman
316
150k
Believing is Seeing
oripsolob
1
120
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Side Projects
sachag
455
43k
How STYLIGHT went responsive
nonsquared
100
6.1k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
330
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/