所以我有一个从xml文件中读取的任务,该文件包含对话框中应存在的表单字段和组合框的描述。我开始使用NSForm和addentry添加表单字段,但后来发现NSMatrix可能需要动态添加组合框。
所以我的问题是:
1)由于NSForm继承自NSMatrix,我可以在添加文本字段后向NSForm添加组合框。
2)如果我必须使用NSMatrix,是否有人有任何好的示例代码,他们可以指向或写入在运行时添加文本字段和组合框,然后调整NSMatrix的大小以适应其内容。很多书只描述了NSMatrix是什么,并展示了如何使用界面构建器来推广它。
答案 0 :(得分:4)
NSForm不允许自定义单元格类型(仅限文本字段),NSMatrix只使用一种单元格类型(您不能拥有混合了NSTextFieldCell和NSComboBoxCell的NSMatrix)。
如果你真的需要创建一个可变数量的field + combo框行,你将不得不手动管理这些行的创建,布局和销毁。
或者,您可以考虑使用collection views。
更新 - 如果您的目标是10.7及更高版本,并且需要比集合视图提供更好的控制,请考虑使用view-based table views。