From d32fa3526023e980363aff181737a51a8a0f1353 Mon Sep 17 00:00:00 2001 From: Kirill Budevich Date: Mon, 17 Feb 2020 13:53:02 +0300 Subject: [PATCH 1/2] Update ContainerCoordinator functionality --- Model/Model/Coordinator/ContainerCoordinator.swift | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Model/Model/Coordinator/ContainerCoordinator.swift b/Model/Model/Coordinator/ContainerCoordinator.swift index e911c7c..d9765c5 100644 --- a/Model/Model/Coordinator/ContainerCoordinator.swift +++ b/Model/Model/Coordinator/ContainerCoordinator.swift @@ -74,4 +74,17 @@ open class ContainerCoordinator: Coordinator { override open var activeViewController: UIViewController? { return containerViewController.contentViewController } + + /// Sets new content coordinator with animator + /// - parameter newCoordinator: coordinator to set + /// - parameter animator: transition animator for setContentViewController func + open func setContentCoordinator(_ newCoordinator: Coordinator?, animator: UIViewControllerAnimatedTransitioning? = nil) { + if let coordinator = contentCoordinator { + coordinator.removeFromParent() + } + if let coordinator = newCoordinator { + add(child: coordinator) + } + containerViewController.setContentViewController(newCoordinator?.baseViewController, animator: animator) + } } From aee39a0a6af0b214b2e26941962f05ec5d2d580c Mon Sep 17 00:00:00 2001 From: Kirill Budevich Date: Fri, 17 Apr 2020 21:47:37 +0300 Subject: [PATCH 2/2] Override `childForHomeIndicatorAutoHidden` property for ContainerViewController --- .../ContainerViewController/ContainerViewController.swift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Model/Model/ContainerViewController/ContainerViewController.swift b/Model/Model/ContainerViewController/ContainerViewController.swift index e37835a..d9f7df8 100644 --- a/Model/Model/ContainerViewController/ContainerViewController.swift +++ b/Model/Model/ContainerViewController/ContainerViewController.swift @@ -45,6 +45,10 @@ open class ContainerViewController: UIViewController { return contentViewController } + open override var childForHomeIndicatorAutoHidden: UIViewController? { + return contentViewController + } + /// Method creates and returns default transition context to implement animation between old and new content view controller. /// Override it to use your custom transition context. It wouldn't be deallocated until animation has ended. /// - parameter containerView: will be a container view for future animation