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
インタラクティブ画面遷移の実践的解説
Search
satoshi0212
September 17, 2017
Programming
5
6k
インタラクティブ画面遷移の実践的解説
補足: 動画埋め込み部分、Xcodeでの説明を追記した版を別途更新予定です。
satoshi0212
September 17, 2017
Tweet
Share
More Decks by satoshi0212
See All by satoshi0212
macOSで自分のカメラを作ってみよう - Core Media IO Extensions
satoshi0212
3
1.2k
NDIとARKitを連動させた新しい映像表現
satoshi0212
3
1.1k
100日間AR表現を実装して見つけた面白い実装を全力解説
satoshi0212
5
2k
Working on mobile AR implementation, what I've implemented and beyond
satoshi0212
0
460
仮想カメラで切り開く拡張現実の世界
satoshi0212
0
560
macOS仮想カメラ「テロップカム」 実装方法とその先
satoshi0212
5
3.6k
ARで悪の組織の会議を実現する
satoshi0212
0
470
クロマキー合成を使い透過動画をAR空間に表示する
satoshi0212
3
9.4k
ARKit Maniacs
satoshi0212
1
3.5k
Other Decks in Programming
See All in Programming
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
1
230
Boos Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
580
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
820
Datadog DBMでなにができる? JDDUG Meetup#7
nealle
0
160
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
650
はじめての Go * WASM * OCR
sgash708
1
120
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
740
Ça bouge du côté des animations CSS !
goetter
2
160
Domain-Driven Design (Tutorial)
hschwentner
13
22k
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
300
ソフトウェアエンジニアの成長
masuda220
PRO
12
2.2k
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.5k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
The Pragmatic Product Professional
lauravandoore
32
6.4k
The Cult of Friendly URLs
andyhume
78
6.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Unsuck your backbone
ammeep
669
57k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Six Lessons from altMBA
skipperchong
27
3.6k
A better future with KSS
kneath
238
17k
Transcript
ΠϯλϥΫςΟϒը໘ભҠ ͷ࣮ફతղઆ ෦ ஐ גࣜձࣾAbemaTV 2017/9/16 iOSDC
None
Satoshi Hattori satoshi0212 AbemaTV Twitter: @shmdevelop ৽͍ٕ͠ज़ͱɺͦͷগ͠มΘ͍ͬͨํ͕େ͖ TechCrunch Tokyo 2015
Hackathon ༏ल Mizuho.Hack ༏ल Microsoft MPC Hackathon TMCN Hack Cars Days 2015 χϑςΟ MUSICIANS HACKATHON 2015 ༏ल
͜͜ͰલఏΛڞ༗
ϲ݄લͷແͳࢲɺ͜Μͳൃද༰͕৺͔Βཉ͔ͬͨ͠...ʂ iOS9 Ҏ߱Λର ͭ·Γ iOS10͔Βͷػೳ͍ͬͯ·ͤΜ ·ͨࠓճͷ࣮Ͱ֎෦ϥΠϒϥϦΛ༻͍ͯ͠·ͤΜ
ࠓ͢༰ ΠϯλϥΫςΟϒը໘ભҠͱ ࣮ղઆ ɹɹ1. Ϟʔμϧը໘ͷΠϯλϥΫςΟϒԽ ɹɹ2. ಉҰը໘ͰͷΠϯλϥΫςΟϒঢ়ଶભҠ
ΠϯλϥΫςΟϒը໘ભҠͱ
Ϣʔβૢ࡞ʹΑΔมԽྔʹԠͨ͡ τϥϯδγϣϯΞχϝʔγϣϯ
ΧελϜτϥϯδγϣϯ + α
SafariͷΤοδεϫΠϓ
ʮભҠʹΠϯλϥΫςΟϒੑΛՃ͢Δʯ
“ΞχϝʔγϣϯΛΠϯλϥΫςΟϒʹ͢Δʹɺ UIPercentDrivenInteractiveTransition ΦϒδΣΫτΛ༻͢Δͷ͕ ࠷؆୯Ͱ͢ɻUIPercentDrivenInteractiveTransition ΦϒδΣΫτ ɺطଘͷΞχϝʔλʔΦϒδΣΫτͱ࿈ܞͯ͠Ξχϝʔγϣϯͷλ ΠϛϯάΛ੍ޚ͠·͢ɻ” Apple "View Controller
Programming Guide for iOS" ΑΓҾ༻ ʮભҠʹΠϯλϥΫςΟϒੑΛՃ͢Δʯ
ࣸਅ
AWA
࣮ફฤ: 1 Ϟʔμϧը໘ͷΠϯλϥΫςΟϒԽ
ݩͷঢ়ଶ
ݩͷঢ়ଶ presentͰը໘શମʹϞʔμϧදࣔ
తͱ͢Δঢ়ଶ
ΠϯλϥΫςΟϒʹ͢Δ͜ͱ ը໘ͷ·Ͱͷදࣔʹ͢Δ͜ͱ
ΠϯλϥΫςΟϒʹ͢Δ·Ͱ
1. dismissτϥϯδγϣϯΛ੍ޚ͢ΔUIViewControllerAnimatedTransitioning ͷ ࣮ΫϥεͱͦΕΛ͏ͨΊͷϓϩτίϧ࡞ 2. Ϟʔμϧը໘ʹϓϩτίϧద༻ 3. දࣔݩը໘ͰUIViewControllerTransitioningDelegateΛ࣮ ΠϯλϥΫςΟϒʹ͢Δ·Ͱ
શը໘Ͱͳ͘ը໘ͷҰ෦ΛදࣔྖҬʹ͢Δ·Ͱ
1. UIPresentationControllerΛ࣮͢ΔΫϥεΛ࡞ 2. දࣔݩը໘ͰUIViewControllerTransitioningDelegateͰݺͼग़͠Ճ શը໘Ͱͳ͘ը໘ͷҰ෦ΛදࣔྖҬʹ͢Δ·Ͱ
Xcode
࣮ફฤ: 2 ಉҰը໘ͰͷΠϯλϥΫςΟϒঢ়ଶભҠ
ݩͷঢ়ଶ ΠϯλϥΫςΟϒੑͳ͠
తͱ͢Δঢ়ଶ
͔ͳΓΠϯλϥΫςΟϒʂ
͋Ε...
Present / Dismiss Push / Pop Ͱ ࣮ݱͰ͖Δؾ͕͠ͳ͍ͧ...
ը໘ͷΠϯλϥΫςΟϒͳঢ়ଶભҠ
ը໘ͷΠϯλϥΫςΟϒͳঢ়ଶભҠ CGAffineTransformར༻ॲཧͱalphaௐ UIScrollViewར༻ʹΑΔprogressੜͰ࣮ݱͨ͠
Xcode
·ͱΊ
·ͱΊ - UIPercentDrivenInteractiveTransition ΦϒδΣΫτͱྑ͘ͳΖ͏ - ը໘ͷΠϯλϥΫςΟϒͳঢ়ଶભҠͰɺCGAffineTransformར༻Ͱͷ ॲཧͱalphaௐΛɺUIScrollViewར༻ʹΑΔprogressੜͰ࣮ݱͨ͠
ΞϓϦΛૉఢʹ͍ͯ͜͠͏ͥʂ
Enjoy! iOSDC 2017
- എܠϒϥʔɺυϩοϓγϟυɺ্ͷΈؙ֯ͷಉ࣮࣌ݱ·͡େมͩͬͨ - ॎɺԣɺiPadରԠͨ͠AutoLayoutΈ͖ͬͨͥʂ - αΠόʔΤʔδΣϯτϒʔεʹؾܰʹֻ͚͠ʹ͖͍ͯͩ͘͞ - Appleͷ͕ࢀߟʹͳΔ ɹγϟυͷมԽɺݩը໘ͷҠಈɺด͡Δɺ։͘εϨογϣϧυͷมԽ ༨ஊ