如何从UITabBarItem获取ViewController

问题描述:

当用户点击一个项目时,我想让ViewController与该选项卡关联。如何从UITabBarItem获取ViewController

TabBar委托不再提供ViewController委托。相反,它提供了一个didSelectItem委托。

override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) { 
} 

如何从UITabBarItem获取ViewController?

+0

只要将一个标签栏控制器拖到故事板上。一旦你这样做了,你可以通过从选项卡栏控制器拖动到与视图控制器关联的故事板来配置选项卡。如果你想改变标签的顺序,你可以在TabBarController上拖动标签来对它们进行重新排序。没有理由你需要用代码设置tabBarController,除非你要在它们之间以编程方式移动。 – Adrian

如果您使用的是UITabBarController而不仅仅是UITabBar请使用UITabBarControllerDelegate而不是UITabBarDelegateUITabBarControllerDelegate提供了方法:

func tabBarController(_ tabBarController: UITabBarController, 
    didSelectViewController viewController: UIViewController)