Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Linking a new viewcontroller to Storyboard?

There is probably a simple solution but I can't figure it out.

I am using storyboards for the interface.

I start with a tab bar controller, but before the user is allowed to use the app the user has to authenticate himself trough a loginview which is modally pushed at the start.

I want to configure the loginview at the same storyboard, but I can't seam to figure out how to link the view controller at the storyboard and my code.

What I have done:

  • Create a new UIViewController subclass trough file > new > new file.
  • Drag a new UIViewController in the story board
  • Set the class in the custom class tab
  • drags a UILabel for test purpose.
  • run

No label...

like image 811
Justin Avatar asked Nov 02 '11 10:11

Justin


People also ask

How do I link my storyboard to ViewController?

Create a new IBOutlet called shakeButton for your storyboard button in your ViewController. swift file. Select the shake button in Interface Builder. Then hold down the control button ( ⌃ ) and click-drag from the storyboard button into your ViewController.

Can you combine SwiftUI with storyboard?

The answer is YES! Here we will be discussing a simple way to use SwiftUI into our existing project, which already consists of a storyboard.


2 Answers

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.

like image 85
Scott Sherwood Avatar answered Oct 01 '22 09:10

Scott Sherwood


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];  
like image 23
OSXMonk Avatar answered Oct 01 '22 09:10

OSXMonk