にナビゲートするとの問題は、私は構造上の構造スウィフト - 私はしたい、ので、ルートコントローラ
NavigationController -> HomeViewController -> StoryBoardSegue (Id: SignUpViewController) -> SignUpViewController -> StoryBoardSegue (Id: SignupStep1ViewController) -> SignUpStep1ViewController -> StoryBoardSegue (Id: SignUpStep2ViewController) -> SignUpStep2ViewController
以下でストーリーボードを持っているがログインしていないユーザーのために、私はこの時点でセグエチェーンを中止していますすぐに今の構造は、画面の各々において
Navigation Controller -> MainMenuViewController
で、私は次のような方法
を使用して新規のViewControllerにユーザーをリダイレクトしていますため、ユーザは、ログインすると全く異なるナビゲーション構造performSegue(withIdentifier: "SignInViewController", sender: self)
performSegue(withIdentifier: "SignUpViewController", sender: self)
performSegue(withIdentifier: "SignupStep1ViewController", sender: self)
performSegue(withIdentifier: "SignUpStep2ViewController", sender: self)
SignUpStep2ViewController
という最後のセグのチェーンポイントに到達すると、この時点でセグが存在しないので、次のコードを使用して別のViewControllerにリダイレクトします。
let mainMenuViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "MainMenuViewController")
present(mainMenuViewController, animated: true, completion: nil)
ユーザーがログアウトをクリックしたときに何のセグエがMainMenuViewControllerとHomeViewControllerの間に存在していない、私は次のコードを試してみましたので、今MainMenuViewControllerで、私はHomeViewController
にユーザーをしたい私はperformSegue
を使用することはできませんので、良いです
let homeViewController = self.storyboard?.instantiateViewController(withIdentifier: "HomeViewController")
self.present(homeViewController!, animated:true, completion:nil)
私は、コードを使用する場合の問題は、何らかの理由で、ナビゲーションメニューは、私は戻ってHomeViewControllerに行くのか、MainMenuControllerから、SignUpViewControllerに表示されないのですか?