2010-09-27 74 views
3

所以我有一個從xml文件中讀取的任務,該文件包含對話框中應該存在哪些表單域和組合框的描述。我開始使用NSForm和addentry添加表單域,但後來發現NSMatrix可能需要動態添加組合框單元格。使用NSComboBoxes填充NSForm

所以我的問題是:

1)由於NSForm從NSMatrix能繼承我的組合框單元添加到NSForm後,我添加文本字段。 2)如果我必須使用NSMatrix,有沒有人有任何好的示例代碼,他們可以指向我或寫入,它會在運行時添加文本字段和組合框,然後調整NSMatrix的大小以適應其內容。很多書籍只是描述了NSMatrix的含義,並展示瞭如何使用界面構建器進行推廣。

+0

在Cocoa成爲一個關於控制/細胞主題的好問題。 – 2010-09-27 17:25:08

回答

4

NSForm不允許使用自定義單元格類型(僅限文本字段),而NSMatrix只使用一種單元格類型(不能有NSMatrix混合使用NSTextFieldCell和NSComboBoxCell)。

如果您確實需要創建可變數量的行+組合框,您將不得不手動管理這些創建,佈局和銷燬。您也可以考慮使用collection views

更新 - 如果您的目標是10.7及以上,並且需要比集合視圖報價更好的控制,請考慮使用view-based table views

+0

實際上,可以將混合單元添加到NSMatrix中。它在Cocoa Developers手冊第12.4.1章中有描述。在Google圖書上查看。 – palob 2013-02-13 08:29:03