如何在Swift

时间:2018-05-12 12:19:02

标签: ios swift3 uitabbarcontroller

我正在使用storyboard来创建所有ui布局。

我有一个表格视图控制器,我已经使用下面的代码删除了应用程序,正常用户需要隐藏一个标签栏项目。

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

但是当Admin登录时(我通过比较电子邮件auth进行检查)应该添加上面删除的表视图控制器,所以当我使用下面的代码添加时

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

仅添加空白空格。 AdminProductUploaderTableVC在Storyboard上有导航控制器。

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

由于

1 个答案:

答案 0 :(得分:1)

你做错了什么?

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

正在创建像AdminProductUploaderTableVC()这样的对象,而不是从故事板加载。

First Goto Storyboard并将故事板标识符添加到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)

希望它有用