我正在開發使用iTunes風格的源列表的Cocoa桌面應用程序:源列表中的不同元素會導致主內容區域顯示不同的視圖。如何顯示從單獨的NIB文件加載的子視圖
內容區域完全填滿(垂直)NSSplitView
;左側是NSOutlineView
源列表。當用戶選擇左側的項目時,相關的視圖出現在分離器的右側。
通過將所有內容放在一個NIB文件中,並將無邊界NSTabView
放在分離器的右側,我可以使其工作得很好;切換視圖,我只需要更改選定的選項卡。但是將所有視圖放在一個NIB中是不好的做法,所以我試圖將每個子視圖移動到它們自己的NIB文件中。
我的大部分這個過程中的一個不錯的主意 - 我創建了一個NSViewController
子類每個視圖(EntityDetailViewController
,GroupDetailViewController
,等等),設置每個新NIB的文件所有者的相關負責人類,在每個NIB中設置view
連接,並重新設置綁定。我不知道的是如何實際更改屏幕上顯示的子視圖。
我試過在右邊使用默認通用NSView
併發送它addSubview:
消息;我已嘗試連接到它作爲第一個子視圖,並呼籲
NSView *newSubview = /* get subview from the new subview controller */
[[subview superview] replaceSubview:subview with:newSubview];
[self setSubview:newSubview];
但是,一切只是留下空白空白。如何顯示從單獨的NIB加載的子視圖?
馬庫斯,你能得到這個工作? – tofutim 2014-02-20 20:53:25