2011-09-07 207 views
1

我正在爲應用程序構建一個首選項窗格,其中用戶可以將Web服務添加到列表(在左側的tableview中)並且窗體應該顯示在右側用戶可以編輯Web服務的配置選項(如用戶名或密碼或API密鑰或tumblr博客名稱等)。我想我需要針對不同類型服務的不同視圖(可能使用不同的驗證邏輯等) 。主詳細界面中詳細信息的多重視圖

我的問題是實現這個最好的方法是什麼?

我做了什麼:我有一個NSTableView一個NSSplitView。我有一個NSArrayController與它的content綁定到NSUserDefaultsControllerNSTableView相應的密鑰綁定到它的arrangedObjectsselectionIndexes。接下來我在右邊添加了一個NSTabView,它的selectedIndex綁定到了NSArrayController的selectedIndex,我試圖以選項卡的形式以編程方式插入適當的視圖(我在IB中創建了這些視圖作爲單獨的自定義視圖)。

這在我看來並不是最好的方法。我也不知道要在詳細視圖中綁定字段 - 甚至可以在這裏使用綁定嗎?你會如何解決這個問題?

回答

1

而不是NSTabView,爲檢查員(inspectorView)創建一個空白NSView。同樣的想法,但更簡單一點。

tableViewSelectionDidChange,寫類似:

newView = ...; 

if (inspectorView != [customInspectorView superview]) { 
    NSView *oldView = [[inspectorView subviews] objectAtIndex:0]; 
    [inspectorView replaceSubview:oldView with:newView]; 
} 

可以綁定你的領域servicesArrayController.selection.username等。