2016-03-06 52 views
0

我有Login.storyboardSegue公司出一個UINavigationController棧來的UITabBarController

enter image description here

Login View Controller有Segue公司,以一個Storyboard參考和故事板main.storyboard

​​

我LoginViewController類代碼有一個TouchUpInside動作處理程序,它以編程方式將該segue調用爲main.storyboard

@IBAction func btnLoginTouchUpInside(sender: UIButton) { 
     let params = AuthLoginParams(Username: txtFieldUsername.text!, Password: txtFieldPassword.text!) 

     AuthLoginRequest.FetchUser(params) { (userModel) -> Void in 
      if(userModel.IsAuthorized){ 
       self.performSegueWithIdentifier("mainStoryboardSegue", sender: nil) 
      }else{ 

      } 
     } 
    } 

現在讓我們來看看main.storyboard

enter image description here

Login.storyboard

所以 - >登錄成功賽格瑞 - >Main.storyboard我想原因請看 「出」 一UINavigationController堆棧,並開始新的/新用一個UITabBarController。下面是一個屏幕截圖,如果我開始我的應用程序main.storyboard並跳過Login.storyboardenter image description here

但是,如果我開始我的應用程序Login.storyboard和嘗試使用我的原因請看Stoyboard參考main.storyboardself.performSegueWithIdentifier("mainStoryboardSegue", sender: nil)

我仍然登錄過程UINavBarController堆,其中,我不想:

enter image description here

+0

你不能用簡單的繼續來做你想做的事。你需要實例化你的標籤欄控制器,並用它替換窗口的根視圖控制器。這將刪除導航控制器。或者,您可以隱藏導航欄 – Paulw11

+0

明白了,謝謝@ Paulw11 –

回答

0

感謝@ Paulw11的小費在我的問題的意見,他STAT ED,我不能做什麼,我試圖用一個簡單的SEGUE,我不得不programmtically改變RootViewController的,這就是我想出的代碼,包括過渡amimation和所有似乎很好地工作:

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let viewController = mainStoryboard.instantiateViewControllerWithIdentifier("dashboardTabBarController") as! DashboardTabBarController 

UIView.transitionWithView(self.view.window!, duration: 0.5, options: UIViewAnimationOptions.TransitionCrossDissolve, animations: { 
        UIApplication.sharedApplication().keyWindow?.rootViewController = viewController; 
        }, completion: nil) 
相關問題