链接一个新的视图控制器到故事板?

可能有一个简单的解决scheme,但我无法弄清楚。

我正在使用界面的故事板。

我从一个标签栏控制器开始,但在用户被允许使用该应用程序之前,用户必须通过在开始时模式推送的loginview来validation自己。

我想要在同一个故事板上configurationloginview,但是我不能缝合来弄清楚如何链接故事板上的视图控制器和我的代码。

我做了什么:

  • 创build一个新的UIViewController子类通过文件>新build>新文件。
  • 在故事板中拖放一个新的UIViewController
  • 在自定义类选项卡中设置类
  • 拖动一个UILabel用于testing目的。

无标签…

拉一个新的UIViewController将作为login视图控制器到MainStoryboard上。 在属性检查器中将标识符更改为LoginViewController(或其他适当的)。 然后加

- (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]; } 

到第一个视图控制器和login屏幕将从故事板加载并呈现。

希望这可以帮助。

上面的斯科特·舍伍德的答案是我经过大量的search后find的最正确的答案。 尽pipe按照新的SDK(6.1)轻微更改,但presentModalViewController显示已被弃用。

以上答案是非常小的变化。

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

我是这个领域的新人 但是,如果第一个视图控制器是一个导航视图控制器,并且它的rootviewcontroller是一个表视图控制器。 如果您希望在单击单元格时推送像LoginViewController这样的视图控制器,并且还想使用导航栏返回到表视图。 我推荐这种方式:

 -(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]; } 

这样,你可以有导航。

顺便说一下,我不知道为什么你问这个问题会出现。 我猜在代码中创build了loginviewcontroller的时候,它的视图并不是故事板中的视图。 如果有人知道原因,请告诉我! 谢谢!