Linking a new viewcontroller to Storyboard? Linking a new viewcontroller to Storyboard? xcode xcode

Linking a new viewcontroller to Storyboard?


Pull on a new UIViewController that will act as the login view controller onto the MainStoryboard. In the attribute inspector change the identifier to LoginViewController (or something appropriate). Then add

- (void)viewDidAppear:(BOOL)animated{    [super viewDidAppear:animated];    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];    UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];    [vc setModalPresentationStyle:UIModalPresentationFullScreen];    [self presentModalViewController:vc animated:YES];}

to the First view controller and the login screen will be loaded from your storyboard and presented.

Hope this helps.


The answer by Scott Sherwood above is most correct answer I found after lot of searching. Though very slight change as per new SDK (6.1), presentModalViewController shows deprecated.

Here is very small change to above answer.

 UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];    HomeViewController * hvc = [sb instantiateViewControllerWithIdentifier:@"LoginView"];    [hvc setModalPresentationStyle:UIModalPresentationFullScreen];    [self presentViewController:hvc animated:YES completion:nil]; 


I'm new in this field. But if the first view controller is a navigation view controller and its rootviewcontroller is a table view controller. If you want to push a view controller like the LoginViewController when you click the cell, and you also want to go back to the table view by using the navigation bar. I recommend this way:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath  {   UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];   UIViewController *controller = [sb instantiateViewControllerWithIdentifier:@"LoginViewController"];   [self.navigationController pushViewController:controller   animated:YES];}

In this way, you can have the navigation.

By the way, I don't know why this kind of problem you asked will appear. I guess when the loginviewcontroller is created in the code, its view is not the view in the storyboard. If someone know the cause, please tell me! thanks!