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
sakaue
November 08, 2019
Programming
0
110
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.4k
SwiftUIを新規プロダクトで用いた話
tosaka07
2
530
Other Decks in Programming
See All in Programming
大規模Reactアプリのリアーキテクチャ~8万行のTanStack Query移行の軌跡~
kj455
4
1k
Let's learn code review
riofujimon
2
570
"config" ってなんだ? / What is "config"?
okashoi
0
320
CDKコントリビュートの最初の壁を越えよう! -簡単issueの見つけ方-
badmintoncryer
3
210
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
480
Going beyond Apache Parquet's default settings
xhochy
0
130
Documentation for users with AsciiDoc and Antora
ahus1
0
370
Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50
utgwkk
6
1.8k
大規模UIKitベースアプリへのTCAの段階的導入/gradual-adoption-of-tca-in-a-large-scale-uikit-based-app
takehilo
2
210
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
870
PostmanでAPIの動作確認が楽になった話
h455h1
0
180
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
910
Featured
See All Featured
Writing Fast Ruby
sferik
622
60k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
46k
Practical Orchestrator
shlominoach
183
9.7k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Raft: Consensus for Rubyists
vanstee
133
6.3k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
Optimising Largest Contentful Paint
csswizardry
12
2.4k
The Mythical Team-Month
searls
216
42k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
13
8.3k
Music & Morning Musume
bryan
41
5.6k
Rails Girls Zürich Keynote
gr2m
91
13k
For a Future-Friendly Web
brad_frost
172
9k
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/