2017-07-11 4 views
0

Ich habe einen View-Controller A im Storyboard mit dem Namen "X" darin habe ich eine Taste. Beim Klicken überprüfe ich die Erfolgsantwort für die API und danach muss ich zum View-Controller B im Storyboard "B" navigieren.Wie geht man programmgesteuert von einem View-Controller in einem Storyboard zu einem anderen View-Controller in einem anderen Storyboard?

Ich bin mit dem Code:

let loginstoryboard = UIStoryboard(name: "Login", bundle: nil) 
    let loginController = loginstoryboard.instantiateViewController(withIdentifier: "login") as? LoginViewController 
    self.navigationController?.pushViewController(loginController!, animated: true) 

So funktioniert es nicht für mich. Was ist das Problem?

+0

überprüfen, ob die Storyboard und Viewcontroller Bezeichnernamen korrekt sind – suhit

+0

add der Code, in dem Sie cal sind Ling API und Übergabe Antwort als auch – suhit

+0

https://StackOverflow.com/Questions/24840306/How-to-Call-Different-Storyboards-Via-Swift-For-IOS –

Antwort

2

Bitte folgen Sie den nachstehenden Schritten.

  1. beide Überprüfen Sie Ihre Ansicht-Controller StoryboardID (Wenn Storyboard-ID bereits dann Schritt überspringen 2 eingeführt wird).
  2. Insert-View-Controller StoryboardID

Bitte prüfen Musterbild von StoryboardID

enter image description here

Beispielcode

UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:"YourStoryBoardName" bundle:nil]; 
    UIViewController *loginViewController = [storyBoard instantiateViewControllerWithIdentifier:"LoginViewController"]; 
    // If Login View Controller is not a Navigation Controller then you need to create Navigation Controller 
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:loginViewController]; 
    [self.navigationController pushViewController:viewController animated:true]; 
0

Sie können die Referenz Ihres Storyboards programmatisch erstellen, indem Sie den Viewcontroller unter Verwendung seiner Storyboard-ID instanziieren.

let loginstoryboard = UIStoryboard(name: "Login", bundle: nil) 

in der Storyboard Sie können sogar einen View-Controller in einer externen storyboard.Refer @bshirley am für detaillierte Erklärung verweisen.

Verwandte Themen