2011-11-07 66 views
3

我正在嘗試爲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

該文檔不是關於使用故事板。我不認爲你想要在這裏做什麼是故事板的必要或可能。當然,如果你真的需要的話,你可以使用多個故事板。 –

回答

1
  • 如果您正在使用Objective-C代碼創建視圖控制器,你通過在創建視圖控制器時,將nib名稱改爲-[UIViewController initWithNibName:bundle:]方法。

  • 如果您將視圖控制器放在與它將控制的視圖相同的XIB中,則不需要設置筆尖名稱。只需將視圖控制器的視圖插座連接到它將控制的視圖。

  • 如果你是把視圖控制器在一些XIB test.xib,你希望它加載另一個廈門國際銀行other.xib,您在屬性檢查器中設置筆尖名在選擇視圖控制器:

nib name field in IB

+0

我仍然沒有工作,請參閱上面的更新。非常感謝,儘管如此。 – jvoll

1

我正在使用的方法是加載外部筆尖作爲故事板中視圖的子視圖。在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]]; 

}