2008-10-27 63 views
22

我認爲標題幾乎說明了這一切...我期待實現一個類似於所有上述程序中使用的標準OS X邊欄的界面,並且我想知道是否有人有任何想法最簡單的方法,即左手選擇窗格的視圖。真的,我不認爲我甚至需要蘋果應用程序中看到的分層組件,我只需要一個好看的平面選項列表,它決定了右側窗格中顯示的內容。如何在Cocoa/IB中實現類似於Mail/iTunes/Finder /等的邊欄?

明顯的開始是一個垂直分割佈局視圖,但除此之外,我不完全確定要去哪裏。只有一列或類似的東西的集合視圖?

回答

28

我已經做了一些使用類似設置的應用程序。

我通常在左窗格中使用NSSplitView,單列NSTableView。不要忘記禁用標題,並將其顯示爲「源視圖」樣式。

如果你想要揭示三角形,那麼你會想使用NSOutlineView而不是NSTableView,但至少對於第一次去,我會堅持一個簡單的NSTableView。

我也使用的模式是使NSTableView稍微比NSSplitView短,並在底部(添加,刪除等)有按鈕。我通常圍繞核心數據構建程序,因此很容易將它們連接到創建/刪除對象的方法,然後將NSTableView綁定到對象數組。

+0

這是如此啓迪@matthew schinckel!謝謝 – swdev 2011-09-07 10:58:13

19

在Leopard中增加了對這類事物的直接支持。它被稱爲「來源列表」。

請參閱AppKit release notes。在文檔中搜索NSTableViewSelectionHighlightStyleSourceList。

或者,拖出表格視圖並在Interface Builder中選擇Highlight: Source List

+2

您還需要實現outlineView:isGroupItem:delegate方法,以便爲具有全部標題標題的行返回YES。 – 2008-10-28 00:39:54

相關問題