【发布时间】:2018-08-30 10:39:46
【问题描述】:
我正在做一个应用程序,它是一个带有标签栏项目(搜索、登录、更多)的标签栏控制器应用程序。成功登录后,用户标签栏更改为(搜索、帐户、更多),并在更多中使用注销按钮。问题是,当单击注销时,它应该加载SearchViewController,如果再次在标签栏中单击登录,则不会显示相应的登录页面。它显示黑屏。
@IBAction func btnLogOutClicked(_ sender: UIButton)
{
let hm = SearchVC()
let tabOneBarItem = UITabBarItem(title: "Search", image: UIImage(named: "TabHome.png"), selectedImage: UIImage(named: "TabHome.png"))
hm.tabBarItem = tabOneBarItem
let lgn = LoginVC()
let tabOneBarItem1 = UITabBarItem(title: "Login", image: UIImage(named: "tabAcc.png"), selectedImage: UIImage(named: "tabAcc.png"))
lgn.tabBarItem = tabOneBarItem1
let mropt = MoreVC()
mropt.tabBarItem = UITabBarItem(tabBarSystemItem: .more, tag: 2)
let controllers = [hm, lgn, mropt]
self.tabBarController?.viewControllers = controllers
self.tabBarController?.selectedIndex = 0
}
如何在单击注销时显示标签栏控制器并单击标签栏项目应显示相应的视图控制器。
【问题讨论】:
-
SearchVC , LoginVC 和 MoreVC 在 IB 里面 ??
-
@Honey - 为了避免更多条件和管理更复杂的结构,最好更改登录用户和注销用户窗口的
rootViewControlloer。 -
@Sh_Khan SearchVC 、 LoginVC 和 MoreVC 是三个独立的视图控制器,连接到故事板中的 tabbarcontroller
标签: ios iphone swift uitabbarcontroller xcode8