2016-10-18 4 views
0

버튼을 탭하면 앱 사용자가 사용자와 관리자의 두 역할을 전환 할 수 있습니다. 보기를로드 할 때 내 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]) 
     } 

은 처음 두 탭 표시 줄의 항목을 변경합니다. 사용자가 버튼 역할을 변경 탭 anotherViewController에서

MainTabBarViewController().aboveFunction()

이 광고를 실행 한 후, 탭 바 항목이 업데이트되지 않는다. 은 앱을 강제 종료하여 새 탭 표시 줄 항목에만 업데이트하고을 다시 실행할 수 있습니다. 탭 바 항목을 업데이트 한 후 즉시 다시로드하는 방법은 무엇입니까?

답변

0

내가 다시로드 할 해결책을 찾지 못했지만, 결국 두 개의 탭 표시 줄 컨트롤러을 스토리 보드에 사용하여 사용자와 관리자에 대한 두 가지보기를 제공합니다.

그리고 버튼을 탭하면 변경할 수있는 역할

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

올바른 탭 표시 줄보기로 전환합니다.