Xcode 4.2-将视图存储在分离的笔尖文件中

问题描述:

我正在尝试为iOS应用程序创建一个相当标准的UI,其中一个选项卡上有一个导航控制器的选项卡控制器。导航控制器将连接其他一些视图。Xcode 4.2-将视图存储在分离的笔尖文件中

我想添加分离的笔尖文件,以便我所有的视图都不在主要的故事板文件中(Apple建议这样做)。我试图按照这里的说明:http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/BasicViewControllers/BasicViewControllers.html#//apple_ref/doc/uid/TP40007457-CH101-SW33

不幸的是,我无法找到我的视图控制器在界面生成器的任何地方的“笔尖名称”属性。我想知道这是否可能已从Xcode 4.2中删除,因为我可以找到有关在旧版Xcode中执行此操作的信息。无论哪种方式,如果有人能告诉我如何使用分离的nib文件来处理我正在做的事情,那将非常有帮助。是的,我已经搜索了所有内容,但还没有找到任何可行的方法。

任何帮助,非常感谢。

更新:

我正在从故事板做到这一点。我附上了一个截图,显示我正在尝试做什么。视图中的笔尖称为View2.xib。你可以从我的截图中看到,我只是有“标题”并在“笔尖名称”应该被列为“标识”:http://i.stack.imgur.com/yPJse.png

+0

据我所知,故事板最终成为多个笔尖。我很好奇,你认为Apple在哪里推荐了将故事板与你自己明确的外部笔尖相结合的方法? –

+0

请参阅第6步:http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/CombiningViewControllers/CombiningViewControllers.html#//apple_ref/doc/uid/TP40007457-CH104-SW1(也许他们的文档刚刚出现的日期?) – jvoll

+0

该文档不是关于使用故事板。我不认为你想要在这里做什么是故事板的必要或可能。当然,如果你真的需要的话,你可以使用多个故事板。 –

  • 如果您正在使用Objective-C代码创建视图控制器,你通过在创建视图控制器时,将nib名称改为-[UIViewController initWithNibName:bundle:]方法。

  • 如果您将视图控制器放在与它将控制的视图相同的XIB中,则不需要设置笔尖名称。只需将视图控制器的视图插座连接到它将控制的视图。

  • 如果你是把视图控制器在一些XIB test.xib,你希望它加载另一个厦门国际银行other.xib,您在属性检查器中设置笔尖名在选择视图控制器:

nib name field in IB

+0

我仍然没有工作,请参阅上面的更新。非常感谢,尽管如此。 – jvoll

我正在使用的方法是加载外部笔尖作为故事板中视图的子视图。在viewDidLoad中,做这样的事情:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    nib = [UINib nibWithNibName:@"MyNib" bundle:nil]; 
    UIView* subview = [[nib instantiateWithOwner:self options:nil] objectAtIndex:0]; 
    [self.view addSubview:subview]; 
    [subview setTranslatesAutoresizingMaskIntoConstraints:NO]; 
    NSDictionary *viewsDict = NSDictionaryOfVariableBindings(subview); 
    [self.view addConstraints:[NSLayoutConstraint 
       constraintsWithVisualFormat:@"|[subview]|" 
       options:0 metrics:nil views:viewsDict]]; 
    [self.view addConstraints:[NSLayoutConstraint 
       constraintsWithVisualFormat:@"V:|[subview]|" 
       options:0 metrics:nil views:viewsDict]]; 

}