From 1965920710b4bdc9e8d0f52e45fc064b0fa468a3 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Fri, 19 Jan 2024 14:50:30 -0600 Subject: [PATCH 1/2] fixed delegate bug Signed-off-by: Matt Bruce --- .../HorizontalCombinationViews/Tabs.swift | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift b/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift index 178e9c3d..dae0e818 100644 --- a/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift +++ b/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift @@ -25,7 +25,21 @@ import VDS open var additionalData: [AnyHashable : Any]? //delegate - weak public var delegate: TabsDelegate? + weak public var delegate: TabsDelegate? { + didSet { + if let delegate { + onTabDidSelect = { [weak self] index in + guard let self else { return } + delegate.didSelectItem(.init(row: index, section: 0), tabs: self) + } + + onTabShouldSelect = { [weak self] index in + guard let self else { return true } + return delegate.shouldSelectItem(.init(row: index, section: 0), tabs: self) + } + } + } + } //------------------------------------------------- // MARK: - Layout Views @@ -55,17 +69,5 @@ import VDS selectedIndex = viewModel.selectedIndex surface = viewModel.style ?? .light tabModels = viewModel.tabs.compactMap { TabModel(text: $0.label.text) } - - if let delegate { - onTabDidSelect = { [weak self] index in - guard let self else { return } - delegate.didSelectItem(.init(row: index, section: 0), tabs: self) - } - - onTabShouldSelect = { [weak self] index in - guard let self else { return true } - return delegate.shouldSelectItem(.init(row: index, section: 0), tabs: self) - } - } } } From 91eb0a5636192988ea3116668257d0b4e71f1038 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Fri, 19 Jan 2024 16:02:21 -0600 Subject: [PATCH 2/2] added fillContainer and backgroundColor Signed-off-by: Matt Bruce --- MVMCoreUI/Managers/SubNav/SubNavManagerController.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/MVMCoreUI/Managers/SubNav/SubNavManagerController.swift b/MVMCoreUI/Managers/SubNav/SubNavManagerController.swift index 85e487ae..30585d46 100644 --- a/MVMCoreUI/Managers/SubNav/SubNavManagerController.swift +++ b/MVMCoreUI/Managers/SubNav/SubNavManagerController.swift @@ -8,6 +8,7 @@ import Foundation import MVMCore +import VDSColorTokens open class SubNavManagerController: ViewController, MVMCoreViewManagerProtocol, TabsDelegate, MVMCorePresentationDelegateProtocol, SubNavSwipeNavigationProtocol { @@ -29,6 +30,7 @@ open class SubNavManagerController: ViewController, MVMCoreViewManagerProtocol, private var tabsModel: TabsModel public lazy var tabs: Tabs = { let tabs = Tabs(model: tabsModel, delegateObjectIVar, nil) + tabs.fillContainer = true tabs.delegate = self return tabs }() @@ -109,6 +111,9 @@ open class SubNavManagerController: ViewController, MVMCoreViewManagerProtocol, open override func pageShown() { // Currently not calling super until we can decouple page shown logics for managers. hideNavigationBarLine(true) + + //set the tabs backgroundColor + tabs.backgroundColor = (viewController as? PageProtocol)?.pageModel?.navigationBar?.backgroundColor?.uiColor ?? VDSColor.backgroundPrimaryLight } open override func viewWillDisappear(_ animated: Bool) {