【发布时间】:2020-07-01 09:40:18
【问题描述】:
我的 UITabBarController 遇到问题。 我真的很确定我做了这里描述的同样的事情,但它不能正常工作: https://medium.com/@ITZDERR/uinavigationcontroller-and-uitabbarcontroller-programmatically-swift-3-d85a885a5fd0
请你看一下。 TabBarController:
import UIKit
class TabBarController: UITabBarController{
override func viewDidLoad() {
super.viewDidLoad()
//让tabBarController = UITabBarController()
self.tabBar.backgroundColor = .white
self.tabBar.frame.origin.y = view.frame.size.height - CGFloat(tabBarHeight)
self.tabBar.frame.size.height = CGFloat(tabBarHeight)
let homeVC = UIViewController()
homeVC.title = "Home"
homeVC.tabBarItem = UITabBarItem.init(title: "Home", image: UIImage(systemName: "house.fill"), tag: 0)
let tripHomeVC = TripHomeViewController()
tripHomeVC.title = "Trips"
tripHomeVC.tabBarItem = UITabBarItem.init(title: "Trips", image: UIImage(systemName: "globe"), tag: 1)
let statsHomeVC = StatisticHomeViewController()
statsHomeVC.title = "Statistics"
statsHomeVC.tabBarItem = UITabBarItem.init(title: "Statistic", image: UIImage(systemName: "chart.pie.fill"), tag: 2)
let settingsHomeVC = SettingsHomeViewController()
settingsHomeVC.title = "Home"
settingsHomeVC.tabBarItem = UITabBarItem.init(title: "Settings", image: UIImage(systemName: "gear"), tag: 3)
let controllerArray = [homeVC, tripHomeVC, statsHomeVC, settingsHomeVC]
// tabBarController.viewControllers = controllerArray
self.viewControllers = controllerArray.map { UINavigationController(rootViewController: $0)}
// view.addSubview(tabBarController.view)
}
}
在我的 HomeController 中,我只是添加了 TabBar:
// Setup TabBar
let tabBarController = TabBarController()
self.view.addSubview(tabBarController.view)
TabBar 显示但不工作。
谢谢!
【问题讨论】:
-
为什么在
UITabBarController中创建UITabBarController没有意义? -
你是对的,我的错。只是改变了它,但我认为这种改变不会解决我的问题。
-
TabBar 显示但不工作是什么意思。 究竟是什么不工作?如果可能,请添加屏幕截图。你的
HomeController是rootViewController 吗? -
添加了屏幕截图和改进的编码。我的 HomeController 不是我的 rootViewController,在你到达 HomeController 之前,你必须登录,这是我的 rootViewController。所以你可以看到 TabBar 显示出来了,但是当你点击项目时,什么也没有发生。
标签: swift uikit uitabbarcontroller