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
View 系ライブラリに関する悩み
Search
USAMI Kosuke
March 30, 2016
Programming
0
890
View 系ライブラリに関する悩み
関西モバイルアプリ研究会 #12
http://kanmoba.connpass.com/event/28411/
USAMI Kosuke
March 30, 2016
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
190
ゆめみ大技林製作委員会の立ち上げの話 / daigirin project
usamik26
0
340
@ViewLoadingプロパティラッパの紹介と自前で実装する方法 / @ViewLoading property wrapper implementation
usamik26
0
490
これからUICollectionViewを実践活用する人のためのガイド / Guide to UICollectionView
usamik26
1
760
Xcodeとの最近の付き合い方のはなし / Approach To Xcode
usamik26
2
680
UICollectionView Compositional Layout
usamik26
0
800
Coding Swift with Visual Studio Code and Docker
usamik26
0
520
Swift Extension for Visual Studio Code
usamik26
2
1.1k
Other Decks in Programming
See All in Programming
testingを眺める
matumoto
1
130
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
220
個人軟體時代
ethanhuang13
0
310
AIエージェント開発、DevOps and LLMOps
ymd65536
1
380
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
0
250
TanStack DB ~状態管理の新しい考え方~
bmthd
2
470
ソフトウェアテスト徹底指南書の紹介
goyoki
1
140
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
110
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
【第4回】関東Kaggler会「Kaggleは執筆に役立つ」
mipypf
0
1k
旅行プランAIエージェント開発の裏側
ippo012
2
850
機能追加とリーダー業務の類似性
rinchoku
2
970
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Into the Great Unknown - MozCon
thekraken
40
2k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Producing Creativity
orderedlist
PRO
347
40k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Practical Orchestrator
shlominoach
190
11k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Transcript
View ܥϥΠϒϥϦʹ ؔ͢ΔΈ USAMI Kosuke Fenrir Inc.
ҙ » ݁ͷͳ͍Ͱ͋Δ͜ͱΛ͓அΓ͓͖ͯ͠·͢ » جຊతʹ iOS Λલఏʹ͠·͢ͷͰྃ͝ঝ͍ͩ͘͞ʢOS ґଘ͠ͳ͍ ͋Γ·͚͢Ͳʣ
ϥΠϒϥϦͷͬ͘͟Γྨ » Model ܥʢLogic ܥʣ » View ܥʢUI ܥʣ »
ʢྨͮ͠Β͍ͷ͋Δ͚Ͳɺ͜͜Ͱؾʹ͠ͳ͍ʣ
Model ܥ » DI » Data Converter (JSON / XML
/ ...) » Database » Network
View ܥ » ඪ४ͷྨࣅͷಠࣗϥΠϒϥϦ » PagerViewController ෩ / Alert ෩
/ ... » ಠࣗύʔπʢ·ͨผͷ OS ෩ύʔπʣ » HUD / Drawer / PagerTabStrip / ...
ϥΠϒϥϦͷ༻ » Model ܥੵۃతʹ͏ » View ܥ͋·ΓΘͳ͍ » ʢHUD ͳͲΑ͘͏ͷ͋Δ͚Ͳʣ
View ܥ͋·ΓΘͳ͍ʁ » ࣗલ࣮͢ΔΑΓϥΠϒϥϦΛ͍͍ͨ߹͋Δ » ͔͠͠ɺ͍ͮΒ͞Λײ͡Δ͜ͱ͕͋Δ
͍ͮΒ͞ʁ » ϥΠϒϥϦ෦ͷݟͨͷௐ͕ͮ͠Β͍ » Ͳ͕͜ΧελϜͰ͖Δ͔ϥΠϒϥϦґଘ » ݟͨͷͩ͜ΘΓ͕ͳ͍ՕॴͳΒɾɾɾ » ϥΠϒϥϦͷڍಈͱࣗલ࣮෦ͷڍಈͱ͕߹͠ͳ͍ »
Delegate Gesture Recognizer ͕িಥ͢ΔͳͲ
݁ہ » ϥΠϒϥϦͦͷ··Ͱ͑ͳ͍߹͕ଟ͍ » ͦ͜Ͱɾɾɾ » ϥΠϒϥϦͷҰ෦Λվมͯ͠͏ » ΞϓϦͰࣗલ࣮͢Δ »
ϥΠϒϥϦΛࣗ࡞͢Δ » ͔ͤͬ͘ͷϥΠϒϥϦࢿ࢈͕׆͔ͤͯͳ͍ײɾɾɾ
࠷ۙͷࣄྫ
Pull to Refresh » ͍· iOS ΞϓϦͷҰൠతͳڍಈͱ͞ΕΔ » iOS ඪ४Ͱ
UIRefreshControl ͕͋Δ
͜͜ʹগʑحົͳཁٻ͕͋Δɾɾɾ » UITableView ͷ֎ଆʹ Refresh Control Λஔ͖͍ͨΜ͚ͩͲɾɾɾ » ʢී௨ UITableView
ͷଆʹஔ͖·͢ΑͶɾɾɾʣ
UIRefreshControl » ී௨ͷ UIView ʹ addSubView ͢Δͱྫ֎͕ൃੜ͢Δ » ઃܭऀͷҙਤͱҟͳΔͨΊɺΘ͟ͱྫ֎Λग़͍ͯ͠ΔΑ͏ͩ »
UIRefreshControl UITableViewController Ͱ͏ͷ
αʔυύʔςΟϥΠϒϥϦΛ୳͢ » Refresh Control ͷϥΠϒϥϦͨ͘͞Μ͋Δ » UIViewController + UITableView /
UIScrollView Ͱ͑Δ » ͔͠͠ɾɾɾ » ͲΕ Refresh Control Λ UIScrollView ʹ addSubView ͢Δ » ϨΠΞτΛϥΠϒϥϦ෦ͰܾΊ͍ͯΔ
ϥΠϒϥϦʹ੍͞ΕΔ » View ߏΛϥΠϒϥϦʹ੍͞ΕΔ » View Λࣗͷ͖ͳΑ͏ʹஔͰ͖ͳ͍ » ϨΠΞτΛࣗͷ͖ͳΑ͏ʹઃఆͰ͖ͳ͍ »
Refresh Control Λ֎ଆʹஔ͘͜ͱϩδοΫతʹՄೳͳͣ
View ܥϥΠϒϥϦʹΉ͜ͱ » View ͷ࣮ϨΠΞτͰ͖Δ͚ͩΞϓϦʹ·͔ͤͯ΄͍͠ » ϥΠϒϥϦج൫Λఏڙͯ͠΄͍͠
ଞͷ » Refresh Control ͷϥΠϒϥϦͷଞͷࣄྫ » UIScrollViewDelegate ͷ࣮ͷதͰ hogehoge ϝιουΛݺ
» Ͱతͷ delegate UITableViewDelegate Ͱ͋Δ » ͦͷϥΠϒϥϦͷཁٻʹ͋ΘͤΔͱ delegate Λࣗ༝ʹઃܭͰ͖ͳ͍
ΞϓϦͷઃܭͷӨڹΛݮΒ͢ » ϥΠϒϥϦͷཁٻʹҾͬுΒΕͯΞϓϦͷઃܭ੍͕͞ΕΔ » ϥΠϒϥϦͷதͰղܾͯ͠Β͑Δํ͕͍͍ » ࠓճͷࣄྫͩͱɺUIScrollView ͷϓϩύςΟΛ KVO Ͱࢹ
» ʢ༨ஊ͚ͩͲ KVO Γศརʣ
ͦΜͳΘ͚Ͱ » ϥΠϒϥϦΛ͏ͷΊͯࣗલ࣮ » ͦΕΛϥΠϒϥϦԽ͍ͨ͠ » ࡞தɾɾɾ