You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[iOS, Fabric] measureInWindow stays off by the page sheet shrink offset after the sheet is dismissed #59169
On iOS with Fabric, after a native page sheet (presentationStyle pageSheet) is presented and then dismissed, measureInWindow stays off by the shrink offset of the presenting screen. We measured 20 pt and 68 pt on an iPhone Air in portrait. The values are correct again after any layout of the root view, for example a rotation.
Our reading: UIKit applies a transform to the presenting screen while the sheet is up. The surface hosting view takes its window origin from its frame in the window during layout, including that transform. After dismissal the transform is removed but the hosting view is not laid out again, so the origin stays wrong.
Versions
React Native 0.88.0, Expo SDK 58.0.14, New Architecture (Fabric), iOS. react-native-screens 4.30.0 in the app.
Steps
Render a View on a screen and call measureInWindow on it, and log the result.
Present a Modal with presentationStyle pageSheet from that screen, then dismiss it.
Call measureInWindow again on the same view. Expected: the same values as before. Observed: y is off by the shrink offset.
Trigger a layout of the root view (for example rotate the device) and measure again. The values are correct.
Workaround
After a modal is dismissed, mark the root surface hosting view for layout again. We do this locally and the values are correct afterwards.
Related
#58981 (open) reports a centered formSheet on iPad where the window inset is missing from measureInWindow. This is a different case (page sheet on iPhone, transform not cleared). Not reduced to a standalone repository yet.
Missing reproducer: We could not detect a reproducible example in your issue report. Reproducers are mandatory and we can accept only one of those as a valid reproducer:
For majority of bugs: send us a Pull Request with the RNTesterPlayground.js edited to reproduce your bug.
Activity
react-native-bot commentedon Oct 18, 2026
Warning
Missing reproducer: We could not detect a reproducible example in your issue report. Reproducers are mandatory and we can accept only one of those as a valid reproducer:
You can read more about about it on our website: How to report a bug.
Acetyld commentedon Oct 18, 2026
Re-filed on the bug report template with a public reproducer: #59171. Closing this one.