以编程方式从另一个 viewController 更改 tabBarController 索引
changing tabBarController Index from another viewController programatically
简短说明。
我有一个 ContainerViewController
,我正在推送到 navigationStack
。
ContainerViewController
有2个childUIViewController
。一个 SlidePanelViewController
(一个 slide-out 菜单)和一个 CenterViewController
(内容),我的 CenterViewController
是一个 UITabBarController
,目前有 2 个 UIViewController
。
我的菜单中有一个按钮,我需要更改 tabBarController
中的 UIViewController
。但是当我调用我的函数时没有任何反应。
这是我要调用的函数:
func premiumFormulaTapGesture() {
tabBarController?.selectedIndex = 1
}
(我也尝试将其设置为 0 和 2。仍然没有结果。)我尝试将 self.
放在它前面,但没有任何运气。
我也试过把它作为一个函数放在我的 ContainerViewController
中。但这似乎也没有用。
这是我设置 UITabBarController
的方式:
var centerTabBarController: UITabBarController!
在ViewDidLoad()
中:
let tabBarController = UITabBarController()
let suggestionsVC = mySuggestions_VC()
let testVC = detaiLSuggestion_VC()
let controllers = [suggestionsVC,testVC]
tabBarController.setViewControllers(controllers, animated: false)
centerViewController = tabBarController
view.addSubview(tabBarController.view)
addChildViewController(tabBarController)
我的 tabBarController
确实出现了。而且我能够手动点击它上面的 2 个按钮,它会按预期在 viewControllers
之间切换。我稍后打算隐藏 UITabBarController
,并使用菜单。 UITabBarController
将是我从菜单中更改 UIViewController
的方法。
也只是澄清一下。我没有使用故事板。
任何帮助更改我的 tabBarController
中的 viewControllers
将不胜感激!
Phillip Mills 还没有 post 回答。所以我只是关闭悬而未决的问题。
我的问题是,在将名称更改为 "menuTabBarController" 后,有 2 个 UITabBarControllers 名称相同 "tabBarController" 一切正常。
再次感谢 Phillip Mills 在评论中解决了我的问题。
简短说明。
我有一个 ContainerViewController
,我正在推送到 navigationStack
。
ContainerViewController
有2个childUIViewController
。一个 SlidePanelViewController
(一个 slide-out 菜单)和一个 CenterViewController
(内容),我的 CenterViewController
是一个 UITabBarController
,目前有 2 个 UIViewController
。
我的菜单中有一个按钮,我需要更改 tabBarController
中的 UIViewController
。但是当我调用我的函数时没有任何反应。
这是我要调用的函数:
func premiumFormulaTapGesture() {
tabBarController?.selectedIndex = 1
}
(我也尝试将其设置为 0 和 2。仍然没有结果。)我尝试将 self.
放在它前面,但没有任何运气。
我也试过把它作为一个函数放在我的 ContainerViewController
中。但这似乎也没有用。
这是我设置 UITabBarController
的方式:
var centerTabBarController: UITabBarController!
在ViewDidLoad()
中:
let tabBarController = UITabBarController()
let suggestionsVC = mySuggestions_VC()
let testVC = detaiLSuggestion_VC()
let controllers = [suggestionsVC,testVC]
tabBarController.setViewControllers(controllers, animated: false)
centerViewController = tabBarController
view.addSubview(tabBarController.view)
addChildViewController(tabBarController)
我的 tabBarController
确实出现了。而且我能够手动点击它上面的 2 个按钮,它会按预期在 viewControllers
之间切换。我稍后打算隐藏 UITabBarController
,并使用菜单。 UITabBarController
将是我从菜单中更改 UIViewController
的方法。
也只是澄清一下。我没有使用故事板。
任何帮助更改我的 tabBarController
中的 viewControllers
将不胜感激!
Phillip Mills 还没有 post 回答。所以我只是关闭悬而未决的问题。
我的问题是,在将名称更改为 "menuTabBarController" 后,有 2 个 UITabBarControllers 名称相同 "tabBarController" 一切正常。
再次感谢 Phillip Mills 在评论中解决了我的问题。