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
Playing Sheet presentation style on iOS 13
Search
Shin Yamamoto
July 24, 2019
Programming
0
600
Playing Sheet presentation style on iOS 13
Shin Yamamoto
July 24, 2019
Tweet
Share
More Decks by Shin Yamamoto
See All by Shin Yamamoto
Meet CoreDevice and devicectl
scenee
0
380
DocCのドキュメントをGithub Pagesで公開する
scenee
2
590
SwiftライブラリのObjC対応における落とし穴と回避策
scenee
0
280
Testing a constraint-based layout of UIView
scenee
1
1.2k
Fluid Interfacesの実践
scenee
4
1.5k
Introducing Relax
scenee
0
520
Potatotips#7: Box C String Tip
scenee
0
2.7k
Other Decks in Programming
See All in Programming
TokyoR116_BeginnersSession1_環境構築
kotatyamtema
0
110
知られざるDMMデータエンジニアの生態 〜かつてツチノコと呼ばれし者〜
takaha4k
4
1.3k
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
200
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
1
480
Introduction to kotlinx.rpc
arawn
0
630
Ruby on cygwin 2025-02
fd0
0
140
『品質』という言葉が嫌いな理由
korimu
0
160
時計仕掛けのCompose
mkeeda
1
280
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
110
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
730
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
890
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
11
1.8k
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
The World Runs on Bad Software
bkeepers
PRO
67
11k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Done Done
chrislema
182
16k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Agile that works and the tools we love
rasmusluckow
328
21k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Transcript
Playing Sheet presentation style on iOS 13 Potatotips #63 19/7/24
@SmartNews Shin Yamamoto @scenee
• iOS Developer • Freelancer • Creator of FloatingPanel Hi,
I’m @scenee! https://github.com/SCENEE/FloatingPanel
What’s Sheet presentation style?
Sheet presentation style • New presentation style from iOS 13
• Mail.app • .pageSheet,.formSheet • Default style in iOS 13 (SDK) ◦ .automatic ≒.pageSheet
Sheet Fullscreen Content Non immersive 非没入型 Immersive 没入型 Dismiss •
Tapping a button • Swiping down (optional) Tapping a button Modality: Sheet and Fullscreen https://developer.apple.com/design/human-interface-guidelines/ios/app-architecture/modality/
Migration notes • Add a button to dismiss • Care
the swipe-to-dismiss action • View Controller life cycle
Presenting View Controller Life Cycle Sheet Fullscreen viewWillAppear -- Invoked
viewDidAppear -- Invoked viewWillDisappear -- Invoked viewDidDisappear -- Invoked
Presented View Controller Life Cycle Sheet Fullscreen viewWillAppear Invoked Invoked
viewDidAppear Invoked Invoked viewWillDisappear Multiple invoked Invoked viewDidDisappear Invoked Invoked
WWDC19 Sessions • What’s New in iOS Design https://developer.apple.com/videos/play/wwdc2019/808 •
Modernizing Your UI for iOS 13 https://developer.apple.com/videos/play/wwdc2019/224
Sheet presentation features • Swipe to dismiss • Sheet bounce
• Scroll integration
Sheet features • Swipe to dismiss (customizable) • Sheet bounce
• Scroll integration
• Disable to dismiss ◦ Set .isModalnPresentation to true ◦
UIAdaptivePresentationControllerDelegate ▪ Return false in presentationControllerShouldDismiss Swipe to dismiss
• Detect a dismiss action ◦ UIAdaptivePresentationControllerDelegate ▪ presentationControllerDidAttempToDismiss ▪
presentationControllerWillDismiss ▪ presentationControllerDidDismiss Swipe to dismiss
I wonder how to add Mail.app-like UI to suspend and
resume a task
Demo
How to implement • Dismiss buttons in NavigationBar on swiping
up
How to implement • Stop dropping a modal view at
a position Y.
How to implement • Change state of the presenting view
controller
None
None
Recap • Sheet presentation style as default in iOS 13
• A few APIs to customize the behavior • Imitate a task suspending UI using presentedView
Thanks you!