swift ios选项卡栏didSelectItem当前登录屏幕
如果用户单击选项卡2或选项卡3,我将尝试显示登录屏幕 我试着加上:swift ios选项卡栏didSelectItem当前登录屏幕,ios,swift,uitabbarcontroller,segue,Ios,Swift,Uitabbarcontroller,Segue,如果用户单击选项卡2或选项卡3,我将尝试显示登录屏幕 我试着加上: override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) { if item.tag == 1 || item.tag == 2 { if LocalStore.getToken() == nil { self.performSegueWithIdentifier("l
override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) {
if item.tag == 1 || item.tag == 2 {
if LocalStore.getToken() == nil {
self.performSegueWithIdentifier("loginSegue", sender: self)
return
}
}
}
这将显示模式VC/登录屏幕,我将其作为rootVC的一个分段。但是选项卡栏仍然与单击的选项卡相分离
我想做的是停止选项卡栏窗体,触发一个到所选VC/单击选项卡的序列,而只显示模式VC/登录屏幕如果您使用的是
UIAbbarController
,您可以覆盖其委托的shouldSelectViewController
方法(UIAbbarController
)。您可以动态决定是否切换到特定的视图控制器:
func tabBarController(tabBarController: UITabBarController,
shouldSelectViewController viewController: UIViewController) -> Bool {
guard
let tab = tabBarController.viewControllers?.indexOf(viewController)
where [1, 2].contains(tab)
else { return true }
if LocalStore.getToken() == nil {
/// Present the login screen here
return false
}
return true
}