以编程方式从另一个viewController更改选项卡Bar Controller Index

时间:2015-04-04 11:35:26

标签: ios swift uiviewcontroller uitabbarcontroller uitabbaritem

简短说明。

我有一个ContainerViewController,我正在推动navigationStack

ContainerViewController有2个孩子UIViewControllerSlidePanelViewController(幻灯片菜单)和CenterViewController(内容),我的CenterViewControllerUITabBarController,目前有2 UIViewController

我的菜单中有一个按钮,我需要更改UIViewController中的tabBarController。但是当我调用我的函数时没有任何反应。

这是我要调用的功能:

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的方法。

也只是为了澄清。我没有使用故事板。

非常感谢帮助我更改viewControllerstabBarController的任何帮助!

1 个答案:

答案 0 :(得分:0)

Phillip Mills还没有发布答案。所以我只是关闭了未解决的问题。

我的问题是有2个UITabBarControllers命名相同" tabBarController"将名称更改为" menuTabBarController"一切正常。

再次感谢Phillip Mills在评论中解决我的问题。