2013-06-04 39 views
3

下面是一个使用initWithNibName有独立的厦门国际银行意见的例子:使用initWithNibName用故事板

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; 

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

回答

14

,您可以给控制器的故事板的Identifier然后用这个...

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

只需添加到这个...

当创建一个子类UIViewController来自xib文件。如果你有一个叫MyViewController类和厦门国际银行名为MyViewController.xib那么所有你需要做的是...

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

然后系统会查找名为MyViewController.xib一个XIB文件,并用它来初始化对象,只有回退在xib文件不存在的情况下在代码中执行。

4

获得与故事板分镜名称实例并设置标识的所有场景,并获得实例

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