当我的iOS应用加载时,有一个标签视图控制器加载了3个标签:charge, location, more
。当您点击更多时,可以选择登录。当点击登录时 - > signviewcontroller
会显示用户选择其Google个人资料登录的位置 - >一旦成功,他们应该被引导到Charge页面。如果用户未登录,这是应用程序第一次加载,则应显示正常选项卡 - >充电,位置,更多。
问题是我不确定我是否正确对齐了TabViewController
和NavigationController
。点击登录后,Signviewcontroller
会显示,我也会进入ChargeViewController
,但我看不到标签和导航栏项目名称,尽管有一个空白的导航栏。
这是我的segue代码:
self.performSegue(withIdentifier: "signin_complete", sender: self)
我应该以不同方式布置视图控制器吗?我读到我需要添加一个可以修复底部选项卡的导航控制器,但它没有。
GIF的外观和注意最后一页的费用如何在底部没有显示任何标签。 gif link
答案 0 :(得分:0)
您应该删除介于Signviewcontroller
和Navigation Controller - ChargeViewController
之间的segue。然后Tabbar将出现在此导航控制器上,如Location
。
这是我的例子:
然后你应该创建自己的UITabBarController
类。之后,您可以在tabBar didSelect
中控制视图控制器。检查签名状态和根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)
}