Вопрос

I am developing an iOS app for iPhone and iPad. I have two storyboard files, called: Main_iPhone and Main_iPad. I have made a loginscreen in these storyboards and I have set up a LoginViewController. After a succesfull login, I want to redirect the user to another screen in Main_iPhone or Main_iPad. I gave this screen the name Dashboard and in the Identity Inspector the custom class DashboardViewController. I have created this file.

I'm developing for iOS 7 in Xcode 5

How can I redirect the user to my dashboard?

Это было полезно?

Решение

There is a few way you can do it. First is create DashboardViewController and present it to view hierarchy:

DashboardViewController *vc = [[DashboardViewController alloc] init];
[self presentViewController:vc animated:YES completion:nil];

Another one is create segue in storyboard from Login to Dashboard and when you want to redirect just call:

[self performSegueWithIdentifier:@"SEGUE_IDENTIFIRE" sender:nil];

SEGUE_IDENTIFIRE is a segue name you need to set up in storyboard.

Другие советы

For the purpose, when you complete the login you can switch through storyboards by instantiating a UIStoryboard object and presenting new UIViewController that must be instantiated with method of UIStoryboad object, below an example:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:
                            @"myOtherStoryboard" bundle:nil];
[self presentViewController:[storyboard instantiateViewControllerWithIdentifier:
                                  @"myViewOfOtherStoryaboard"] animated:NO completion:nil];

Hope this help.

Sometimes, users end up reaching this if they only search for "redirect to another view controller". So here is a solution that I would be looking for...

Swift 3 solution

let controller = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "yourViewControllerID")
present(controller, animated: true, completion: nil)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top