objective-c - 使用 NSComboBoxes 填充 NSForm

标签 objective-c cocoa macos

因此,我的任务是从一个 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/

相关文章:

c - 如何使用 fork() 和 exec() 在 Mac OS 上创建进程

iOS:Mac Catalyst,在其他 Mac 上测试 iOS 应用

xcode - 如何在 MacOS 上更改屏幕保护程序的名称?

ios - NS_ASSUME_NONNULL_END 之后的可空性注释警告

c++ - 在 xcode/objective c 中使用 c++

ios - 使用 For 循环在 UISlider 上绘制线条

iphone - 数据可用后重绘 UITableViewCell 的有效方法

objective-c - ONLongPress手势检测两次

cocoa - NSOutlineView -- 重新加载项 :reloadChildren: crashing my application

iphone - 方法可以返回 NSRange 吗?