This commit is contained in:
Scott Pfeil 2021-10-18 13:19:37 -04:00
parent b946be833f
commit b06f26468e

View File

@ -46,16 +46,11 @@ import UIKit
} }
/// Convenience function for setting the navigation item. /// Convenience function for setting the navigation item.
public static func setNavigationItemProperties(navigationItemModel: NavigationItemModelProtocol, viewController: UIViewController) { public static func setNavigationItem(navigationController: UINavigationController, navigationItemModel: NavigationItemModelProtocol, viewController: UIViewController) {
viewController.navigationItem.title = navigationItemModel.title viewController.navigationItem.title = navigationItemModel.title
viewController.navigationItem.accessibilityLabel = navigationItemModel.title viewController.navigationItem.accessibilityLabel = navigationItemModel.title
viewController.navigationItem.hidesBackButton = navigationItemModel.hidesSystemBackButton viewController.navigationItem.hidesBackButton = navigationItemModel.hidesSystemBackButton
viewController.navigationItem.leftItemsSupplementBackButton = !navigationItemModel.hidesSystemBackButton viewController.navigationItem.leftItemsSupplementBackButton = !navigationItemModel.hidesSystemBackButton
}
/// Convenience function for setting the navigation item.
public static func setNavigationItem(navigationController: UINavigationController, navigationItemModel: NavigationItemModelProtocol, viewController: UIViewController) {
setNavigationItemProperties(navigationItemModel: navigationItemModel, viewController: viewController)
setNavigationButtons(navigationController: navigationController, navigationItemModel: navigationItemModel, viewController: viewController) setNavigationButtons(navigationController: navigationController, navigationItemModel: navigationItemModel, viewController: viewController)
setNavigationTitleView(navigationController: navigationController, navigationItemModel: navigationItemModel, viewController: viewController) setNavigationTitleView(navigationController: navigationController, navigationItemModel: navigationItemModel, viewController: viewController)
} }
@ -157,14 +152,6 @@ extension NavigationController: MVMCoreViewManagerProtocol {
manager?.newDataReceived?(in: viewController) manager?.newDataReceived?(in: viewController)
} }
public func prepareDisplay(for viewController: UIViewController) {
if let topViewController = topViewController,
let model = getNavigationModel(from: viewController) {
Self.setNavigationItemProperties(navigationItemModel: model, viewController: topViewController)
}
manager?.prepareDisplay?(for: viewController)
}
public func willDisplay(_ viewController: UIViewController) { public func willDisplay(_ viewController: UIViewController) {
if let topViewController = topViewController, if let topViewController = topViewController,
let model = getNavigationModel(from: viewController) { let model = getNavigationModel(from: viewController) {
@ -185,16 +172,6 @@ extension NavigationController: MVMCoreViewManagerProtocol {
extension NavigationController: MVMCorePresentationDelegateProtocol { extension NavigationController: MVMCorePresentationDelegateProtocol {
public func navigationController(_ navigationController: UINavigationController, prepareDisplayFor viewController: UIViewController) { public func navigationController(_ navigationController: UINavigationController, prepareDisplayFor viewController: UIViewController) {
guard self == navigationController else { return }
guard let newViewController = MVMCoreUIUtility.getViewControllerTraversingManagers(viewController) else { return }
if let model = getNavigationModel(from: newViewController) {
Self.setNavigationItemProperties(navigationItemModel: model, viewController: newViewController)
}
manager?.prepareDisplay?(for: viewController)
}
public func navigationController(_ navigationController: UINavigationController, willDisplay viewController: UIViewController) {
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)
} }