Merge branch 'bugfix/CXTDT-205294' into 'develop'
navigation verification fixes See merge request BPHV_MIPS/mvm_core_ui!761
This commit is contained in:
commit
20188762a3
@ -108,10 +108,16 @@ import UIKit
|
|||||||
|
|
||||||
/// Convenience function to return the navigation model of the lowest controller traversing managers if applicable.
|
/// Convenience function to return the navigation model of the lowest controller traversing managers if applicable.
|
||||||
public func getNavigationModel(from viewController: UIViewController) -> NavigationItemModelProtocol? {
|
public func getNavigationModel(from viewController: UIViewController) -> NavigationItemModelProtocol? {
|
||||||
|
return (viewController as? PageProtocol)?.pageModel?.navigationBar
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Verifies the controller is the currently displayed controller.
|
||||||
|
public func isDisplayed(viewController: UIViewController) -> Bool {
|
||||||
guard let topViewController = topViewController,
|
guard let topViewController = topViewController,
|
||||||
viewController == MVMCoreUIUtility.getViewControllerTraversingManagers(topViewController),
|
viewController == MVMCoreUIUtility.getViewControllerTraversingManagers(topViewController) else {
|
||||||
let model = (viewController as? PageProtocol)?.pageModel?.navigationBar else { return nil }
|
return false
|
||||||
return model
|
}
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,7 +141,9 @@ extension NavigationController: MVMCoreViewManagerProtocol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public func newDataReceived(in viewController: UIViewController) {
|
public func newDataReceived(in viewController: UIViewController) {
|
||||||
if let topViewController = topViewController,
|
|
||||||
|
if isDisplayed(viewController: viewController),
|
||||||
|
let topViewController = topViewController,
|
||||||
let model = getNavigationModel(from: viewController) {
|
let model = getNavigationModel(from: viewController) {
|
||||||
Self.setNavigationItem(navigationController: self, navigationItemModel: model, viewController: topViewController)
|
Self.setNavigationItem(navigationController: self, navigationItemModel: model, viewController: topViewController)
|
||||||
Self.setNavigationBarUI(navigationController: self, navigationItemModel: model, viewController: topViewController)
|
Self.setNavigationBarUI(navigationController: self, navigationItemModel: model, viewController: topViewController)
|
||||||
@ -152,7 +160,8 @@ extension NavigationController: MVMCoreViewManagerProtocol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public func displayedViewController(_ viewController: UIViewController) {
|
public func displayedViewController(_ viewController: UIViewController) {
|
||||||
if let topViewController = topViewController,
|
if isDisplayed(viewController: viewController),
|
||||||
|
let topViewController = topViewController,
|
||||||
let model = getNavigationModel(from: viewController) {
|
let model = getNavigationModel(from: viewController) {
|
||||||
Self.setNavigationBarUI(navigationController: self, navigationItemModel: model, viewController: topViewController)
|
Self.setNavigationBarUI(navigationController: self, navigationItemModel: model, viewController: topViewController)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -117,6 +117,7 @@ public extension MVMCoreUISplitViewController {
|
|||||||
/// Convenience function to update the navigation bar if the controller is the current lowest controller.
|
/// Convenience function to update the navigation bar if the controller is the current lowest controller.
|
||||||
@objc func updateNavigationBarFor(viewController: UIViewController) {
|
@objc func updateNavigationBarFor(viewController: UIViewController) {
|
||||||
guard let navigationController = navigationController,
|
guard let navigationController = navigationController,
|
||||||
|
navigationController.isDisplayed(viewController: viewController),
|
||||||
let model = navigationController.getNavigationModel(from: viewController) else { return }
|
let model = navigationController.getNavigationModel(from: viewController) else { return }
|
||||||
set(for: viewController, navigationController: navigationController, navigationItemModel: model)
|
set(for: viewController, navigationController: navigationController, navigationItemModel: model)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user