首页 > 解决方案 > 如何在 Swift 中将表格视图控制器添加到选项卡栏控制器

问题描述

我正在使用情节提要来创建所有 ui 布局。

我有一个表格视图控制器,我使用下面的代码在加载应用程序时删除了它,因为对于普通用户,需要隐藏一个标签栏项目。

self.tabBarController?.viewControllers?.remove(at: 4)

但是当管理员登录时(我通过比较电子邮件身份验证)应该添加上面删除的表视图控制器,所以当我使用下面的代码添加时

self.tabBarController?.viewControllers?.insert(AdminProductUploaderTableVC(), at: 4)

只是添加空白区域。 AdminProductUploaderTableVC在故事板上有导航控制器。

那么如何为管理员加载现有的表视图控制器呢?

谢谢

标签: iosswift3uitabbarcontroller

解决方案


你在做什么错?

self.tabBarController?.viewControllers?.insert(AdminProductUploaderTableVC(), at: 4)

正在创建这样的对象, AdminProductUploaderTableVC()而不是从情节提要加载。

首先转到情节提要并将情节提要标识符添加到AdminProductUploaderTableVC

转到 AdminProductUploaderTableVC并添加以下方法

class func viewController() -> AdminProductUploaderTableVC {
    return UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "AdminProductUploaderTableVC") as! AdminProductUploaderTableVC
}

现在将您的行替换为

self.tabBarController?.viewControllers?.insert(UINavigationController(rootViewController:AdminProductUploaderTableVC.viewController()), at: 4)

希望对您有所帮助


推荐阅读