问题描述
我将以编程方式登录后创建一个标签栏控制器。所以我用下面的代码。我的问题是图标没有显示在标签栏中。
func makeTabBarController() -> Void {
let storyboard = UIStoryboard(name: "Main",bundle: nil)
let vc1 = storyboard.instantiateViewController(withIdentifier: "homevcID")
let nav1 = UINavigationController()
nav1.viewControllers = [vc1]
nav1.tabBarItem = UITabBarItem(title: "Steps",image: UIImage(named: "music.png"),tag: 1)
let vc2 = storyboard.instantiateViewController(withIdentifier: "historyvcID")
let nav2 = UINavigationController()
nav2.viewControllers = [vc2]
nav2.tabBarItem = UITabBarItem(title: "History",image: UIImage(named: "music"),tag: 2)
let tabBarVc = UITabBarController()
//tabBarVc.tabBar.barTintColor = .green
//tabBarVc.tabBar.tintColor = .white
//tabBarVc.tabBar.unselectedItemTintColor = .systemGray
// tabBarVc.tabBar.isTranslucent = true
//
tabBarVc.viewControllers = [vc1,vc2]
window?.rootViewController = tabBarVc
}
解决方法
为导航控制器设置rootViewController,如下所示:
let nav = UINavigationController(rootViewController: vc)
您可以尝试以下方法:
let nav1 = UINavigationController(rootViewController: vc1)
nav1.tabBarItem = UITabBarItem(title: "Steps",image: UIImage(named: "music.png"),tag: 1)