fix crash when maxHeight is nil at sheet presentation

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Samuel Newman
2026-07-08 18:22:09 +03:00
parent 53d9db174c
commit 33da63c805
+6 -3
View File
@@ -32,9 +32,12 @@ class SheetView: ExpoView, UISheetPresentationControllerDelegate {
var cornerRadius: CGFloat?
var sourceViewTag: Int?
var minHeight = 0.0
var maxHeight: CGFloat! {
// getScreenHeight() is nil when no window scene is connected yet (e.g. during
// prewarming or a background launch). A nil here previously trapped in
// clampHeight, so fall back to the full screen bounds instead.
var maxHeight: CGFloat = UIScreen.main.bounds.height {
didSet {
let screenHeight = Util.getScreenHeight() ?? 0
let screenHeight = Util.getScreenHeight() ?? UIScreen.main.bounds.height
if maxHeight > screenHeight {
maxHeight = screenHeight
}
@@ -77,7 +80,7 @@ class SheetView: ExpoView, UISheetPresentationControllerDelegate {
required init (appContext: AppContext? = nil) {
super.init(appContext: appContext)
self.maxHeight = Util.getScreenHeight()
self.maxHeight = Util.getScreenHeight() ?? UIScreen.main.bounds.height
self.touchHandler = RCTTouchHandler(bridge: appContext?.reactBridge)
SheetManager.shared.add(self)
}