如何将两个不同的视图控制器设置为同一选项卡栏项?

问题描述 投票:0回答:1

我已经在情节提要中创建了一个UITabBarController和三个视图控制器作为其选项卡栏项。

我想检查的是,当用户按下第三个标签栏菜单并直接指向未登录用户的登录页面和已登录用户的配置文件页面时,是否使用PFU.current()登录用户。

我正在以编程方式将在情节提要中创建的ViewController分配给第三个选项卡栏项目菜单。

我尝试过

let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
                let userProfileVC = storyBoard.instantiateViewController(withIdentifier: "UserProfileViewController") as! UserProfileViewController
                self.viewControllers?[2] = userProfileVC
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
        switch item.tag {
        case 0:
            print(0)
        case 1:
            print(1)
        case 2:
            if (PFUser.current() != nil) {

                let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
                let userProfileVC = storyBoard.instantiateViewController(withIdentifier: "UserProfileViewController") as! UserProfileViewController
                self.viewControllers?[2] = userProfileVC
            }else{
                print("not logged in")

            }
        default:
            break
        }   
    }

当按下第三个选项卡栏项目时,应首先检查登录名并根据情况直接进入页面。 (未登录:loginPage,登录:profilePage)

swift uitabbarcontroller tabbar
1个回答
0
投票

最好尽早做

class Tab:UITabBarController { 
   override func viewDidLoad() {
       super.viewDidLoad() 
           var vc3:UIViewController! 
           if (PFUser.current() != nil) { 
            let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
            let userProfileVC = storyBoard.instantiateViewController(withIdentifier: "UserProfileViewController")!
            vc = userProfileVC
        }else{
            print("not logged in")
             vc = ///// 
        } 
        self.viewControllers = [vc1,vc2,vc3]
     } 
}
© www.soinside.com 2019 - 2024. All rights reserved.