Ios Swift-带TabBar的导航栏工作不正常

Ios Swift-带TabBar的导航栏工作不正常,ios,swift,tabbar,navigationcontroller,Ios,Swift,Tabbar,Navigationcontroller,就我而言,我正在制作一个实时聊天应用程序。我在主视图中使用大标题和搜索栏。但是,我想将tabBar添加到我的应用程序navigationController,tabBar无法正常工作 注意:我用代码做所有事情,请不要告诉我故事板 下面是应该是什么: 添加选项卡栏时发生了什么: AppDelegate.swift: func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions

就我而言,我正在制作一个实时聊天应用程序。我在主视图中使用大标题和搜索栏。但是,我想将tabBar添加到我的应用程序navigationController,tabBar无法正常工作

注意:我用代码做所有事情,请不要告诉我故事板

下面是应该是什么:

添加选项卡栏时发生了什么:

AppDelegate.swift:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    UIApplication.shared.statusBarStyle = .lightContent

    FirebaseApp.configure()
    window = UIWindow(frame: UIScreen.main.bounds)
    window?.makeKeyAndVisible()

    window?.rootViewController = UINavigationController(rootViewController: TabBarController())

    return true
}
TabBarController.swift:

override func viewDidLoad() {
    super.viewDidLoad()

    let messagesController = UINavigationController(rootViewController: MessagesController())
    messagesController.tabBarItem.title = "Sohbetler"
    messagesController.tabBarItem.image = UIImage(named: "chats")

    viewControllers = [messagesController]
}

您放置了两个导航栏,一个用于tabbar,另一个用于controller隐藏一个导航栏,您的问题将得到解决

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    UIApplication.shared.statusBarStyle = .lightContent

    FirebaseApp.configure()
    window = UIWindow(frame: UIScreen.main.bounds)
    window?.makeKeyAndVisible()
    let objNav = UINavigationController(rootViewController: TabBarController())
    objNav.isNavigationBarHidden = true
    window?.rootViewController = objNav

    return true
}

尝试在viewcontroller中显示选项卡栏的以下行

self.tabBarController?.tabBar.isHidden = false

等待时间限制,我将:)您是否需要TabBarController的导航控制器?您可以删除将解决此问题的UINavigationController。谢谢,但chirag的建议使一切都正确无误