diff options
Diffstat (limited to 'modules/bottom-sheet/ios/SheetView.swift')
-rw-r--r-- | modules/bottom-sheet/ios/SheetView.swift | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/modules/bottom-sheet/ios/SheetView.swift b/modules/bottom-sheet/ios/SheetView.swift index b6df8d7d2..710c3c866 100644 --- a/modules/bottom-sheet/ios/SheetView.swift +++ b/modules/bottom-sheet/ios/SheetView.swift @@ -145,7 +145,7 @@ class SheetView: ExpoView, UISheetPresentationControllerDelegate { func updateLayout() { // Allow updates either when identifiers match OR when prevLayoutDetentIdentifier is nil (first real content update) - if (self.prevLayoutDetentIdentifier == self.selectedDetentIdentifier || self.prevLayoutDetentIdentifier == nil), + if self.prevLayoutDetentIdentifier == self.selectedDetentIdentifier || self.prevLayoutDetentIdentifier == nil, let contentHeight = self.innerView?.subviews.first?.frame.size.height { self.sheetVc?.updateDetents(contentHeight: self.clampHeight(contentHeight), preventExpansion: self.preventExpansion) @@ -155,9 +155,15 @@ class SheetView: ExpoView, UISheetPresentationControllerDelegate { } func dismiss() { + guard let sheetVc = self.sheetVc else { + return + } + self.isClosing = true - self.sheetVc?.dismiss(animated: true) { [weak self] in - self?.destroy() + DispatchQueue.main.async { + sheetVc.dismiss(animated: true) { [weak self] in + self?.destroy() + } } } |