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
6.1k
インタラクティブ画面遷移の実践的解説
補足: 動画埋め込み部分、Xcodeでの説明を追記した版を別途更新予定です。
satoshi0212
September 17, 2017
Tweet
Share
More Decks by satoshi0212
See All by satoshi0212
macOSで自分のカメラを作ってみよう - Core Media IO Extensions
satoshi0212
3
1.4k
NDIとARKitを連動させた新しい映像表現
satoshi0212
3
1.2k
100日間AR表現を実装して見つけた面白い実装を全力解説
satoshi0212
5
2.1k
Working on mobile AR implementation, what I've implemented and beyond
satoshi0212
0
500
仮想カメラで切り開く拡張現実の世界
satoshi0212
0
610
macOS仮想カメラ「テロップカム」 実装方法とその先
satoshi0212
5
3.7k
ARで悪の組織の会議を実現する
satoshi0212
0
550
クロマキー合成を使い透過動画をAR空間に表示する
satoshi0212
3
9.7k
ARKit Maniacs
satoshi0212
1
3.6k
Other Decks in Programming
See All in Programming
CSC509 Lecture 02
javiergs
PRO
0
400
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1k
開発生産性を上げるための生成AI活用術
starfish719
1
140
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
480
CSS Linter の現在地 2025年のベストプラクティスを探る
ryo_manba
10
3.2k
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
670
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
2.8k
詳しくない分野でのVibe Codingで困ったことと学び/vibe-coding-in-unfamiliar-area
shibayu36
3
3.3k
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
210
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1k
LLMとPlaywright/reg-suitを活用した jQueryリファクタリングの実際
kinocoboy2
4
660
Serena MCPのすすめ
wadakatu
4
860
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
How to Think Like a Performance Engineer
csswizardry
27
2k
Bash Introduction
62gerente
615
210k
Optimizing for Happiness
mojombo
379
70k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
RailsConf 2023
tenderlove
30
1.2k
Navigating Team Friction
lara
189
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Principles of Awesome APIs and How to Build Them.
keavy
127
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ͷ͕ࢀߟʹͳΔ ɹγϟυͷมԽɺݩը໘ͷҠಈɺด͡Δɺ։͘εϨογϣϧυͷมԽ ༨ஊ