From 75baf271341b232977d44b449910cc7ab9a71351 Mon Sep 17 00:00:00 2001 From: Mikhail Maslo Date: Fri, 28 Jul 2023 11:07:32 +0200 Subject: [PATCH] =?UTF-8?q?Fix=20view=20controller=20which=E2=80=99s=20bei?= =?UTF-8?q?ng=20dismissed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Core/Extensions/UIViewController+Convenience.swift | 2 +- .../Core/Presentation/BottomSheetPresentationController.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 {