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
200
ゆめみ大技林製作委員会の立ち上げの話 / daigirin project
usamik26
0
340
@ViewLoadingプロパティラッパの紹介と自前で実装する方法 / @ViewLoading property wrapper implementation
usamik26
0
500
これからUICollectionViewを実践活用する人のためのガイド / Guide to UICollectionView
usamik26
1
770
Xcodeとの最近の付き合い方のはなし / Approach To Xcode
usamik26
2
690
UICollectionView Compositional Layout
usamik26
0
810
Coding Swift with Visual Studio Code and Docker
usamik26
0
530
Swift Extension for Visual Studio Code
usamik26
2
1.1k
Other Decks in Programming
See All in Programming
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
380
社会人になっても趣味開発を続けたい! / traPavilion
mazrean
1
110
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
210
Webサーバーサイド言語としてのRustについて
kouyuume
1
5k
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
140
Foundation Modelsを実装日本語学習アプリを作ってみた!
hypebeans
0
130
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
920
Software Architecture
hschwentner
6
2.3k
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
Temporal Knowledge Graphで作る! 時間変化するナレッジを扱うAI Agentの世界
po3rin
3
790
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
1.8k
オープンソースソフトウェアへの解像度🔬
utam0k
17
3.2k
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
140
Designing for humans not robots
tammielis
254
26k
Docker and Python
trallard
46
3.6k
Unsuck your backbone
ammeep
671
58k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Designing Experiences People Love
moore
142
24k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Raft: Consensus for Rubyists
vanstee
140
7.2k
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 Γศརʣ
ͦΜͳΘ͚Ͱ » ϥΠϒϥϦΛ͏ͷΊͯࣗલ࣮ » ͦΕΛϥΠϒϥϦԽ͍ͨ͠ » ࡞தɾɾɾ