Swift 如何为同一选项卡栏项目显示不同的视图页面?
我已经在故事板中创建了一个Swift 如何为同一选项卡栏项目显示不同的视图页面?,swift,uitabbarcontroller,Swift,Uitabbarcontroller,我已经在故事板中创建了一个UITabBarController。 手动将三个不同的UIViewControllers分隔到每个选项卡栏项。 我想要的是直接到一个选项卡栏项目的不同视图控制器 例如,我在索引2中有一个myProfile选项卡栏项,我想为未注册用户显示登录页面,为普通用户显示配置文件页面,为管理员用户显示带有附加功能的配置文件页面 我想根据条件将第三个选项卡栏项设置为直接登录视图(右二)或配置文件视图(最右侧)。我该怎么做 您可以创建一个新类并扩展UITabBarController
UITabBarController
。
手动将三个不同的UIViewController
s分隔到每个选项卡栏项。
我想要的是直接到一个选项卡栏项目的不同视图控制器
例如,我在索引2中有一个myProfile选项卡栏项,我想为未注册用户显示登录页面,为普通用户显示配置文件页面,为管理员用户显示带有附加功能的配置文件页面
我想根据条件将第三个选项卡栏项设置为直接登录视图(右二)或配置文件视图(最右侧)。我该怎么做
您可以创建一个新类并扩展UITabBarController,并使用要设置在用户是否已登录位置的viewController更改viewController的数组。比如说 } 将ProfileViewController设置在登录页面时的位置(本例中为1)。之后,我们需要在情节提要上设置自定义UITabBarController:
您可以创建一个新类并扩展UITabBarController,并使用要设置在用户是否已登录位置的viewController更改viewController的数组。比如说 } 将ProfileViewController设置在登录页面时的位置(本例中为1)。之后,我们需要在情节提要上设置自定义UITabBarController:
我不确定是否使用故事板,但您可以调整UITabBarController的方法。也就是说,您可以使用决策逻辑为选项卡栏提供函数。拥有一个UIViewController可能更容易,它是整个登录/配置文件逻辑,如果登录,它将加载配置文件视图;如果未登录,它将加载登录视图。我不确定是否使用故事板,但您可以调整UIAbbarController的方法。也就是说,您可以使用决策逻辑为选项卡栏提供函数。拥有一个UIViewController可能更容易,它是整个登录/配置文件逻辑的一部分,如果登录,它将加载配置文件视图,如果未登录,它将加载登录视图 import UIKit class TabBarViewController: UITabBarController {
var isLogged = false
override func viewDidLoad() {
super.viewDidLoad()
configureTabBar()
}
func configureTabBar() {
if(isLogged) {
self.viewControllers?[1] = ProfileViewController()
}
}