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.
public static func setNavigationButtons(navigationController: UINavigationController, navigationItemModel: NavigationItemModelProtocol, viewController: UIViewController) {
let delegate = (viewController as? MVMCoreViewControllerProtocol)?.delegateObject?() as? MVMCoreUIDelegateObject
var items: [UIBarButtonItem] = []
var leftItems: [UIBarButtonItem] = []
if let backButtonModel = navigationItemModel.backButton,
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 {
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 {
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.