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
630
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
500
DocCのドキュメントをGithub Pagesで公開する
scenee
2
650
SwiftライブラリのObjC対応における落とし穴と回避策
scenee
0
300
Testing a constraint-based layout of UIView
scenee
1
1.3k
Fluid Interfacesの実践
scenee
4
1.6k
Introducing Relax
scenee
0
570
Potatotips#7: Box C String Tip
scenee
0
2.8k
Other Decks in Programming
See All in Programming
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
310
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
320
GitHubとGitLabとAWS CodePipelineでCI/CDを組み比べてみた
satoshi256kbyte
4
250
RDoc meets YARD
okuramasafumi
4
170
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
710
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
870
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
610
為你自己學 Python - 冷知識篇
eddie
1
350
私の後悔をAWS DMSで解決した話
hiramax
4
210
Kiroで始めるAI-DLC
kaonash
2
620
Namespace and Its Future
tagomoris
6
710
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
930
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Scaling GitHub
holman
463
140k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Unsuck your backbone
ammeep
671
58k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Code Review Best Practice
trishagee
71
19k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
530
Into the Great Unknown - MozCon
thekraken
40
2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
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!