在Swift中更改UITabBar selectedItem

Zia*_*Zia 8 uitabbar ios swift swift2

如何以编程方式更改UITabBar中的所选项?

ndm*_*iri 37

Swift 3及更高版本

从Swift 3开始,您也可以使用

tabBarController.selectedIndex = 0 // (or any other existing index)
Run Code Online (Sandbox Code Playgroud)

(谢谢你,@ nidomiro.)


Swift 2.2及更早版本

请尝试以下方法

tabBar.selectedItem = tabBar.items![newIndex] as! UITabBarItem
Run Code Online (Sandbox Code Playgroud)

假设您有权访问UITabBarController拥有的UITabBar,您可以执行以下操作

self.selectedViewController = self.viewControllers![newIndex] as! UIViewController
Run Code Online (Sandbox Code Playgroud)

上面的代码行应该放在UITabBarController子类的内部.

但是,如果您可以从"外部"访问标签栏控制器,请执行以下操作

tabBarController.selectedViewController = tabBarController.viewControllers![newIndex] as! UIViewController
Run Code Online (Sandbox Code Playgroud)

  • 在Swift 3中,下面的内容对我有用:tabBarController.selectedIndex = 0(或任何其他现有索引) (2认同)