Tested on iPhone Duo with iOS 27.1 in Xcode 27.1 Beta
Presented VC returns .disabled from preferredVerticalBarBehavior. With UISheetPresentationController, the sheet's trailing safe-area inset is removed at all detents (including default medium and large, plus custom detents at various fixed heights).
The interesting part: the status bar remains in the vertical bar for detents below UISheetPresentationControllerDetentResolutionContext.maximumDetentValue, but at detents that are greater than or equal to that maximumDetentValue, the status bar moves to the top.
With a custom UIPresentationController:
- Default
shouldPresentInFullscreen == true: trailing inset remains, regardless of presented VC'spreferredVerticalBarBehavior(possibly expected) - With
shouldPresentInFullscreen == false: trailing inset is removed, but the status bar moves to the top regardless of the presented view's height.- Using
automaticaspreferredVerticalBarBehaviorkeeps the status bar on the right, but also keeps the safe-area insets increased.
- Using
Is UISheetPresentationController applying detent-aware, presentation-scoped vertical bar behavior? Is there a public way for a custom UIPresentationController to remove the sheet's vertical-bar inset while keeping the status bar vertical [until the presentation reaches full height]?