bug fixes

This commit is contained in:
Pfeil, Scott Robert 2021-06-22 11:55:26 -04:00
parent f32aff549a
commit f3f65763fc
2 changed files with 12 additions and 9 deletions

View File

@ -130,11 +130,11 @@ extension NavigationController: MVMCoreViewManagerProtocol {
} }
public func newDataReceived(in viewController: UIViewController) { public func newDataReceived(in viewController: UIViewController) {
if viewController == topViewController, guard let topViewController = topViewController,
let model = Self.getNavigationModel(from: viewController) { viewController == MVMCoreUIUtility.getViewControllerTraversingManagers(topViewController),
Self.setNavigationItem(navigationController: self, navigationItemModel: model, viewController: viewController) let model = Self.getNavigationModel(from: viewController) else { return }
Self.setNavigationBarUI(navigationController: self, navigationItemModel: model, viewController: viewController) Self.setNavigationItem(navigationController: self, navigationItemModel: model, viewController: viewController)
} Self.setNavigationBarUI(navigationController: self, navigationItemModel: model, viewController: viewController)
manager?.newDataReceived?(in: viewController) manager?.newDataReceived?(in: viewController)
} }
@ -160,7 +160,6 @@ extension NavigationController: MVMCorePresentationDelegateProtocol {
guard self == navigationController else { return } guard self == navigationController else { return }
if let controller = viewController as? (UIViewController & MVMCoreViewManagerViewControllerProtocol) { if let controller = viewController as? (UIViewController & MVMCoreViewManagerViewControllerProtocol) {
MVMCoreViewManagerViewControllerProtocolHelper.helpSetManager(self, viewController: controller) MVMCoreViewManagerViewControllerProtocolHelper.helpSetManager(self, viewController: controller)
controller.viewControllerReady?(inManager: self)
} }
if let model = Self.getNavigationModel(from: viewController) { if let model = Self.getNavigationModel(from: viewController) {
Self.setNavigationItem(navigationController: self, navigationItemModel: model, viewController: viewController) Self.setNavigationItem(navigationController: self, navigationItemModel: model, viewController: viewController)
@ -174,5 +173,8 @@ extension NavigationController: MVMCorePresentationDelegateProtocol {
Self.setNavigationBarUI(navigationController: self, navigationItemModel: model, viewController: viewController) Self.setNavigationBarUI(navigationController: self, navigationItemModel: model, viewController: viewController)
} }
manager?.displayedViewController?(viewController) manager?.displayedViewController?(viewController)
if let controller = viewController as? (UIViewController & MVMCoreViewManagerViewControllerProtocol) {
controller.viewControllerReady?(inManager: self)
}
} }
} }

View File

@ -75,7 +75,7 @@ public extension MVMCoreUISplitViewController {
leftItems.append(contentsOf: additionalLeftButtons) leftItems.append(contentsOf: additionalLeftButtons)
} }
viewController.navigationItem.setLeftBarButtonItems(leftItems.count > 0 ? leftItems : nil, animated: !DisableAnimations.boolValue) navigationController.topViewController?.navigationItem.setLeftBarButtonItems(leftItems.count > 0 ? leftItems : nil, animated: !DisableAnimations.boolValue)
} }
/// Sets the right navigation items for the view controller based on model and splitview. /// Sets the right navigation items for the view controller based on model and splitview.
@ -102,7 +102,7 @@ public extension MVMCoreUISplitViewController {
rightItems.append(contentsOf: additionalRightButtons) rightItems.append(contentsOf: additionalRightButtons)
} }
viewController.navigationItem.setRightBarButtonItems(rightItems.count > 0 ? rightItems : nil, animated: !DisableAnimations.boolValue) navigationController.topViewController?.navigationItem.setRightBarButtonItems(rightItems.count > 0 ? rightItems : nil, animated: !DisableAnimations.boolValue)
} }
@objc func navigationBarModelExists() -> Bool { @objc func navigationBarModelExists() -> Bool {
@ -129,7 +129,8 @@ extension MVMCoreUISplitViewController: MVMCoreViewManagerProtocol {
} }
public func displayedViewController(_ viewController: UIViewController) { public func displayedViewController(_ viewController: UIViewController) {
updateNavigationBarFor(viewController: viewController) guard let controller = MVMCoreUIUtility.getViewControllerTraversingManagers(viewController) else { return }
updateNavigationBarFor(viewController: controller)
} }
public func newDataReceived(in viewController: UIViewController) { public func newDataReceived(in viewController: UIViewController) {