2016-10-18 3 views
0

ボタンをタップすると、ユーザーは2つのロールuserとmanagerを切り替えることができます。ビューをロードするときに、私のtabBarViewControllerviewDidLoad方法でユーザーがロールを変更した後でタブバーのアイテムを再読み込みする方法

if userRole == "manager" { 

      let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
      let managerHomeViewController = (mainStoryboard.instantiateViewController(withIdentifier: "ManagerHome")) as! UINavigationController 
      let managerProfileViewController = (mainStoryboard.instantiateViewController(withIdentifier: "ManagerProfile")) as! UINavigationController 
      self.viewControllers?.replaceSubrange(0...1, with: [managerHomeViewController,managerProfileViewController]) 
     } 

は、最初の2つのタブバーの項目を変更します。ユーザーは、この行を実行した後

MainTabBarViewController().aboveFunction()

を役割を変更するにはボタンをタップanotherViewController

は、タブバーの項目が更新されません。 は、強制的にアプリケーションを閉じて新しいタブバーの項目にのみ更新し、を再起動することができます。どのようにそれらを更新した後すぐにタブバーアイテムを再読み込みするのですか?

答えて

0

リロードするソリューションが見つかりませんでしたが、最終的に2つのタブバーコントローラをストーリーボードに使用して、ユーザーとマネージャの2つのビューを表示します。

そしてときに正しいタブバービューに切り替えた役割

let homeViewController = (self.storyboard!.instantiateViewController(withIdentifier: "ManagerHomeTabBar")) as UIViewController 
self.present(homeViewController, animated: false, completion: nil) 

を変更するにはボタンをタップ。

関連する問題