ios - 拥有 tabviewcontroller 和导航 Controller segue 不会显示底部选项卡

标签 ios swift xcode storyboard uistoryboardsegue

当我的 iOS 应用程序加载时,有一个选项卡 View Controller 会加载 3 个选项卡:充电、位置、更多。当您点击“更多”时,会出现一个登录选项。当用户选择要登录的 Google 个人资料时,会显示点击“登录” -> signviewcontroller -> 一旦成功,他们应该被引导至收费页面。如果用户在应用程序首次加载时未登录,则应显示正常选项卡 -> 费用、位置等。

问题是我不确定我的 TabViewControllerNavigationController 是否正确对齐。单击登录后,Signviewcontroller 确实会显示,并且我也进入 ChargeViewController,但我没有看到选项卡和导航栏项目名称费用,尽管有一个空白的导航栏.

这是我的转接代码:

self.performSegue(withIdentifier: "signin_complete", sender: self)

这是我的 Storyboard布局,尝试提取问题并显示如下: enter image description here

我应该以不同的方式布局我的 View Controller 吗?我读到我需要添加导航 Controller 来修复底部选项卡,但它没有。

GIF 的外观,并注意最后一页费用如何在底部不显示任何选项卡。 gif link

最佳答案

您应该删除 SignviewcontrollerNavigation Controller - ChargeViewController 之间的 Segue。然后 Tabbar 将出现在该导航 Controller 上,如 Location

这是我的例子:

With Segue Without TabBar

Without Segue With TabBar

然后您应该创建自己的UITabBarController类。之后,您可以在 tabBar didSelect 内控制 View Controller 。检查签名状态和根 SignViewController 或 ChargeViewController。

override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
    let nav: UINavigationController = self.tabBarController?.viewControllers?.first as! UINavigationController
    //get sign or charge view controller
    nav.setViewControllers([sign or charge], animated: true)
}

关于ios - 拥有 tabviewcontroller 和导航 Controller segue 不会显示底部选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44558175/

相关文章:

ios - XCode Interface Builder:如何配置界面构建器以显示3.5英寸iPhone?

iphone - 删除确认

ios - 尝试使用 NSTimer 以 2 秒的间隔执行方法?

ios - Swift-Uicollectionview- Collection View 中间的中心单元格

iphone - 如何绘制特定颜色的CGGradient?

ios - 选中和取消选中 TableView Controller 中的按钮

ios - 重复图像下载过程

ios - 为什么从 Project 中的 Organizer 崩溃不会将我带到崩溃的地方?

ios - 谷歌建议类似ios中的功能

Swift 4 Codable 数组的