如何将 table 视图控制器添加到 Swift 中的选项卡栏控制器

How to add a table view Controller to Tab Bar Controller in Swift

我正在使用故事板创建所有 ui 布局。

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

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

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

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

只是添加空白 space。 AdminProductUploaderTableVC 在 Storyboard 上有导航控制器。

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

谢谢

你做错了什么?

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)

希望对您有所帮助