fixes for navigation item setter

This commit is contained in:
Pfeil, Scott Robert 2020-05-27 14:39:57 -04:00
parent 51b327a6d6
commit 27e7235e0b

View File

@ -46,23 +46,25 @@ import UIKit
/// Convenience function for setting the navigation buttons. /// Convenience function for setting the navigation buttons.
public static func setNavigationButtons(navigationController: UINavigationController, navigationItemModel: NavigationItemModelProtocol, viewController: UIViewController) { public static func setNavigationButtons(navigationController: UINavigationController, navigationItemModel: NavigationItemModelProtocol, viewController: UIViewController) {
let delegate = (viewController as? MVMCoreViewControllerProtocol)?.delegateObject?() as? MVMCoreUIDelegateObject let delegate = (viewController as? MVMCoreViewControllerProtocol)?.delegateObject?() as? MVMCoreUIDelegateObject
var items: [UIBarButtonItem] = [] var leftItems: [UIBarButtonItem] = []
if let backButtonModel = navigationItemModel.backButton, if let backButtonModel = navigationItemModel.backButton,
navigationController.viewControllers.count > 1 { navigationController.viewControllers.count > 1 {
items.append(backButtonModel.createNavigationItemButton(delegateObject: delegate, additionalData: nil)) leftItems.append(backButtonModel.createNavigationItemButton(delegateObject: delegate, additionalData: nil))
} }
if let leftItemModels = navigationItemModel.additionalLeftButtons { if let leftItemModels = navigationItemModel.additionalLeftButtons {
for item in leftItemModels { for item in leftItemModels {
items.append(item.createNavigationItemButton(delegateObject: delegate, additionalData: nil)) leftItems.append(item.createNavigationItemButton(delegateObject: delegate, additionalData: nil))
} }
viewController.navigationItem.leftBarButtonItems = items
} }
viewController.navigationItem.leftBarButtonItems = leftItems.count > 0 ? leftItems : nil
var rightItems: [UIBarButtonItem] = []
if let rightItemModels = navigationItemModel.additionalRightButtons { if let rightItemModels = navigationItemModel.additionalRightButtons {
for item in rightItemModels { for item in rightItemModels {
items.append(item.createNavigationItemButton(delegateObject: delegate, additionalData: nil)) rightItems.append(item.createNavigationItemButton(delegateObject: delegate, additionalData: nil))
} }
viewController.navigationItem.rightBarButtonItems = items
} }
viewController.navigationItem.rightBarButtonItems = rightItems.count > 0 ? rightItems : nil
} }
/// Convenience function for setting navigation bar with model. /// Convenience function for setting navigation bar with model.