NSFormCell用于文本以外的内容

时间:2009-08-28 17:41:14

标签: objective-c cocoa

我正在Cocoa应用程序中构建一个动态表单,并计划使用NSForm对象从数组中添加条目。

某些条目需要文本输入,但有些需要布尔输入(即下拉列表),有些甚至需要文件输入(即上传图像或电影或声音文件的位置)。

似乎NSFormCell只能处理文本。我的问题是:我应该将NSFormCell子类化,如果是,那么最好的方法是什么?有没有更好的方法来做到这一点?

感谢您提供任何帮助!

2 个答案:

答案 0 :(得分:4)

您可能希望改为使用NSMatrix。从NSForm文档中,NSForm只是NSMatrix的子类,其中一些便捷方法专门用于在特定配置中创建文本表单。

NSMatrix将允许您使用任何单元格所需的任何单元格(使用putCell:atRow:column:方法)。因此,你可以有一个双列矩阵,左栏完全由文本单元组成,右列是你想要的任何类型的单元格。

答案 1 :(得分:3)

由于我自己没有处理过很多NSForm(之前没有听说过NSFormCell),我个人会使用NSMatrix完成这项任务,必要时添加适当的单元格(NSTextFieldCell,NSButtonCell,NSPopUpButtonCell等)。虽然我没有像你之前描述的那样完全这样做,但我确信它应该有效。

-Steven Degutis

编辑:我的天哪,看起来Matt Ball打败了我。谢谢,Stackoverflow.com的3分钟限制换新手! :d