与故事板一起使用initWithNibName

下面是一个使用initWithNibName和单独的xib视图的例子:

TerminalViewController *ctrl = [[TerminalViewController alloc] initWithNibName:@"ControllerView" bundle:[NSBundle mainBundle]]; ctrl.appDelegate = self; viewCtrl = ctrl; 

不过,我需要实现它与故事板UI布局。 对于'initWithNibName'我怎么能指向我的故事板中的视图:

即:

  TerminalViewController *ctrl = [[TerminalViewController alloc] initWithNibName:@"STORYBOARD.ControllerView" bundle:[NSBundle mainBundle]]; ctrl.appDelegate = self; 

任何帮助深表感谢。 谢谢,戴夫

您可以给故事板上的控制器一个Identifier ,然后使用这个…

 [self.storyBoard instantiateViewControllerWithIdentifier:@"TheIdentifier"]; 

只是添加到这个…

从xib文件创buildUIViewController子类时。 如果你有一个名为MyViewController的类和一个名为MyViewController的xib,那么你所需要做的就是…

 MyViewController *controller = [[MyViewController alloc] init]; 

然后,系统将查找名为MyViewController.xib的xib文件,并使用该文件来初始化对象,并且只有在xib文件不存在的情况下才可以在代码中进行回退。

获取故事板名称的故事板实例,并为所有场景设置标识符并获取实例

 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil]; MyNewViewController *myVC = (MyNewViewController *)[storyboard instantiateViewControllerWithIdentifier:@"myViewCont"]; 
 UIStoryboard *stryBoard=[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; TerminalViewController *ctrl = [stryBoard instantiateViewControllerWithIdentifier:@"ControllerView"];