2011-09-08 35 views
0

我有一個具有3個.xib文件,MainMenu,FileUploadView,FileBrowseView的項目。爲什麼不是我的子視圖加載?

  • 的MainMenu有NSPanel,它的主人是AppDelegate中和的AppDelegate有一個出口NSPanel稱爲FilePanel。 NSPanel下的NSView被稱爲filePanelView,並且在AppDelegate中也有一個插座。

  • FileUploadView是一個NSView,它的擁有者是FileUploadViewController。它在控制器中有一個名爲uploadView的插座。

  • FileBrowseView類似,所有者是FileBrowseViewController,有一個名爲browseView的插座。

因此,在應用程序委託我有以下代碼:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{ 
    fileBrowseViewController = [[FileBrowseViewController alloc] 
     initWithNibName:@"FileBrowseView" bundle:nil]; 
} 

- (IBAction)importHandsClicked:(id)sender { 
    [NSApp activateIgnoringOtherApps:YES]; 
    [filePanel setIsVisible:YES]; 
    [filePanelView addSubview:[fileBrowseViewController browseView]]; 

} 

的行動確實讓filePanel可見,但它不browseView添加到它。難道我做錯了什麼?

+0

如果fileBrowseViewController是一個屬性,嘗試'self.fileBrowseViewController = [[FileBrowseViewController頁頭] initWithNibName:@ 「FileBrowseView」 捆綁:無];' – chown

+0

是沒有任何效果...我也嘗試添加的自我。到[filePanelView addSubview:[self.fileBrowseViewController browseView]]; –

回答

2

檢查[fileBrowseViewController browserView]不是nil

這是非常可能,尤其是如果您忘記或沒有你browseView IBOutlet中鏈接到實際的UIView表示InterfaceBuilder下你FileBrowseView實例。

[編輯] 有關連接插座,see Apple's InterfaceBuilder Help here(包括教程視頻)的詳細信息。

+0

謝謝阿里,它實際上是零。但我怎麼連接browseView到UIView?我從browseView筆尖「引用出口」拖到根NSView(這不是UIKit它是一個可可應用程序)。 –

+0

Ctrl-Drag從您的FileBuilderViewViewController實例在InterfaceBuilder中的browserView實例,並選擇'browseView' IBoutlet。請參閱此IB幫助頁面,其中詳細介紹了視頻中的過程:http://developer.apple.com/library/mac/#recipes/xcode_help-interface_builder/CreatingOutlet.html – AliSoftware

相關問題