Hello everyone,
I’m running into an issue where a partial sheet repeatedly presents and dismisses in a loop.
Setup
- The main screen is presented using
fullScreenCover - From that screen, a button triggers a standard partial-height
sheet - The sheet is presented using
.sheet(item:)
Expected Behavior
- Tapping the button should present the sheet once and allow it to be dismissed normally.
Actual Behavior
- After the sheet is triggered, it continuously presents and dismisses.
What I’ve Verified
- The bound
itemis not being reassigned in either the parent or the presented view - There is no
.task,.onAppear, or.onChangethat sets the item again - The loop appears to happen without any explicit state updates
Additional Context
- I encountered a very similar issue when iOS 26.0 was first released
- At that time, moving the
.sheetmodifier to a higher parent level resolved the issue
- At that time, moving the
- The problem has now returned on iOS 26.4 beta
- I’m currently unable to reproduce this in a minimal sample project, which makes it unclear whether:
- this is a framework regression, or
- I’m missing a new presentation requirement
Environment
- iOS: 26.4 beta
- Xcode: 26.4 beta
I’ve attached a screen recording of the behavior.
Has anyone else experienced this with a fullScreenCover → sheet flow on iOS 26.4?
Any guidance or confirmation would be greatly appreciated.
Thank you!