因此,我的任务是从一个 xml 文件中读取,该文件包含对对话框中应存在哪些表单字段和组合框的描述。我开始使用 NSForm 和 addentry 添加表单字段,但后来发现可能需要 NSMatrix 才能动态添加组合框单元格。
所以我的问题是:
1) 由于 NSForm 继承自 NSMatrix,我可以在添加文本字段后将组合框单元格添加到 NSForm。
2) 如果我必须使用 NSMatrix,有没有人有任何好的示例代码,他们可以向我指出或编写在运行时向其添加文本字段和组合框,然后调整 NSMatrix 大小以适合其内容的示例代码。很多书只是描述了 NSMatrix 是什么,并展示了如何使用界面构建器来普及它。
最佳答案
NSForm 不允许自定义单元格类型(仅限文本字段),而 NSMatrix 仅采用一种单元格类型(您不能拥有混合了 NSTextFieldCell 和 NSComboBoxCell 的 NSMatrix)。
如果您确实需要创建可变行数的字段 + 组合框,您将不得不手动管理这些内容的创建、布局和销毁。
或者,您可以考虑使用 collection views .
更新 - 如果您的目标是 10.7 及更高版本并且需要比 Collection View 提供更好的控制,请考虑使用 view-based table views .
关于objective-c - 使用 NSComboBoxes 填充 NSForm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3804630/