我在 Storyboard中创建了一个 UITabBarController
。
三个不同的 UIViewController
被手动 segued 到每个标签栏项目。
我想要的是针对一个标签栏项目直接到不同的 View Controller 。
例如,我在索引 2 处有一个 myProfile 选项卡栏项目,我想显示未注册用户的登录页面、普通用户的个人资料页面以及管理员用户的具有附加功能的个人资料页面。
我想根据条件将第三个选项卡栏项设置为指向 login_view(第二个右边)或 profile_view(最右边)。我应该怎么做?
最佳答案
您可以创建一个新类并扩展它的 UITabBarController,并使用您想要在用户登录或未登录的位置设置的 ViewController 更改 viewController 的数组。例如
import UIKitclass TabBarViewController: UITabBarController {
var isLogged = false override func viewDidLoad() { super.viewDidLoad() configureTabBar() } func configureTabBar() { if(isLogged) { self.viewControllers?[1] = ProfileViewController() } }
将 ProfileViewController 设置在您拥有登录页面时的位置(本例中为 1)。之后,我们需要在 Storyboard上设置我们的自定义 UITabBarController :
- 选择标签栏 View Controller
- 转到身份检查器(在右侧)
- 设置我们的自定义 TabBarViewController,您可以在下一个图片链接中看到它:
关于swift - 如何为同一个标签栏项目显示不同的 View 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57960101/