diff --git a/Sources/BottomSheet/Core/Extensions/UIViewController+Convenience.swift b/Sources/BottomSheet/Core/Extensions/UIViewController+Convenience.swift index a0015bf..8ec73c6 100644 --- a/Sources/BottomSheet/Core/Extensions/UIViewController+Convenience.swift +++ b/Sources/BottomSheet/Core/Extensions/UIViewController+Convenience.swift @@ -69,7 +69,7 @@ public final class DefaultBottomSheetModalDismissalHandler: BottomSheetModalDism } public func performDismissal(animated: Bool) { - if let presentedViewController = presentingViewController { + if let presentedViewController = presentingViewController?.presentedViewController { presentedViewController.dismiss(animated: animated, completion: dismissCompletion) } else { // User dismissed view controller by swipe-gesture, dismiss handler wasn't invoked diff --git a/Sources/BottomSheet/Core/Presentation/BottomSheetPresentationController.swift b/Sources/BottomSheet/Core/Presentation/BottomSheetPresentationController.swift index a74fbab..c2a922f 100644 --- a/Sources/BottomSheet/Core/Presentation/BottomSheetPresentationController.swift +++ b/Sources/BottomSheet/Core/Presentation/BottomSheetPresentationController.swift @@ -192,7 +192,7 @@ public final class BottomSheetPresentationController: UIPresentationController { private func startInteractiveTransition() { interactionController = UIPercentDrivenInteractiveTransition() - presentingViewController.dismiss(animated: true) { [weak self] in + presentedViewController.dismiss(animated: true) { [weak self] in guard let self = self else { return } if self.presentingViewController.presentedViewController !== self.presentedViewController {