【问题标题】:How to set two different view controllers to a same tab bar item?如何将两个不同的视图控制器设置为同一个标签栏项目?
【发布时间】:2020-01-28 16:27:52
【问题描述】:

我在情节提要中创建了一个 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】:

    早点做比较好

    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]
         } 
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-05
      • 2013-04-17
      • 1970-01-01
      • 2017-03-24
      • 2014-09-26
      • 2019-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多