我正在Cocoa应用程序中构建一个动态表单,并计划使用NSForm对象从数组中添加条目。
某些条目需要文本输入,但有些需要布尔输入(即下拉列表),有些甚至需要文件输入(即上传图像或电影或声音文件的位置)。
似乎NSFormCell只能处理文本。我的问题是:我应该将NSFormCell子类化,如果是,那么最好的方法是什么?有没有更好的方法来做到这一点?
感谢您提供任何帮助!
答案 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