从具有不同用户的 TabBarController 中删除选项卡 iOS Swift
Remove tab from TabBarController with different users iOS Swift
如上图所示,只有一个登录界面,登录成功后会出现标签栏。
我想要做的是,假设有两个不同的用户,例如 Admin 和 Staff,他们有不同的登录凭据,Admin 登录将显示底部的所有选项卡,但是,Staff 登录只能看到第一个选项卡。我怎么能那样做?有什么想法或代码示例可以参考吗?
在登录屏幕中,您可以覆盖 prepareForSegue,如下所示
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let destinationTabBar = segue.destinationViewController as? UITabBarController {
if (!isAdmin) {
destinationTabBar.viewControllers?.removeAtIndex(adminScreenIndex)
}
}
}
在上面的代码中,您在选项卡栏控制器的 prepareForSegue 方法中检查用户是否为管理员。如果用户不是管理员,则删除所需的屏幕(按 adminScreenIndex
索引)
如上图所示,只有一个登录界面,登录成功后会出现标签栏。 我想要做的是,假设有两个不同的用户,例如 Admin 和 Staff,他们有不同的登录凭据,Admin 登录将显示底部的所有选项卡,但是,Staff 登录只能看到第一个选项卡。我怎么能那样做?有什么想法或代码示例可以参考吗?
在登录屏幕中,您可以覆盖 prepareForSegue,如下所示
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let destinationTabBar = segue.destinationViewController as? UITabBarController {
if (!isAdmin) {
destinationTabBar.viewControllers?.removeAtIndex(adminScreenIndex)
}
}
}
在上面的代码中,您在选项卡栏控制器的 prepareForSegue 方法中检查用户是否为管理员。如果用户不是管理员,则删除所需的屏幕(按 adminScreenIndex
索引)