From 715e35644c1b16412df0639483fe92858bb6a4a7 Mon Sep 17 00:00:00 2001 From: Lance Roberts Date: Mon, 2 Jul 2018 16:44:13 +0200 Subject: [PATCH] wrapped the open and close of the side menu within the main dispatch queue. fixed the delay when side menu needed to close --- Sources/MenuContainerViewController.swift | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Sources/MenuContainerViewController.swift b/Sources/MenuContainerViewController.swift index 1de07eb..1bf0048 100644 --- a/Sources/MenuContainerViewController.swift +++ b/Sources/MenuContainerViewController.swift @@ -169,7 +169,7 @@ fileprivate extension MenuContainerViewController { view.addSubviewWithFullSizeConstraints(view: selectedContentVC.view) currentContentViewController = selectedContentVC } - + /** Presents left side menu. */ @@ -177,15 +177,20 @@ fileprivate extension MenuContainerViewController { if menuViewController == nil { fatalError("Invalid `menuViewController` value. It should not be nil") } - present(menuViewController, animated: true, completion: nil) + DispatchQueue.main.async { [weak self] in + guard let menuViewController = self?.menuViewController else { return } + self?.present(menuViewController, animated: true, completion: nil) + } isShown = true } - + /** Dismisses left side menu. */ func dismissNavigationMenu() { - self.dismiss(animated: true, completion: nil) + DispatchQueue.main.async { [weak self] in + self?.dismiss(animated: true, completion: nil) + } isShown = false } }