我正在创建一个应用程序,它必须与服务器数据交互,然后相应地显示来自数据库的结果。我正在用Cocoa编写客户端应用程序。
示例:用户登录到web应用程序。他们有一些用于提交网络报告的选项。选择:单行和多行。他们可以为他们想要输入的各种变量选择这些字段的数量。然后将其保存在MYSQL数据库中,以供以后使用。
示例(第2部分):客户端应用程序获取MYSQL数据库中的数据,然后显示它。问题是它是可变数量的字段和可变数量的类型。
换句话说,数据库基本上存储了我们是否想要显示NSSecureTextField、NSTextField等,然后将其显示在屏幕上。正如我上面指出的,问题是他们被允许选择他们想要的元素的数量和类型-所以我不太确定如何将其转换到代码中。
只是为了澄清一下,我并不是想要构建一个在线界面生成器。这只是一种在线输入数据的方式,它具有可变数量的字段和各种类型的字段。我已经创建了在线系统,但我在客户端的部分有困难。
任何帮助都将不胜感激!
发布于 2009-07-05 17:05:55
我不太明白你要的是什么。计算出用户想要多少NSTextFields,然后使用一个小for()循环来创建它们,这不是很简单吗?您可能希望跟踪文本字段,所以我可能会这样做:
NSMutableDictionary * interfaceElements = [[NSMutableDictionary alloc] init];
for (NSInteger i = 0; i < numberOfTextFields; ++i) {
//this is just to make a frame that's indented 10px
//and has 10px between it and the previous NSTextField (or window edge)
NSRect frame = NSMakeRect(10, (i*22 + (i+1)*10), 100, 22);
NSTextField * newField = [[NSTextField alloc] initWithFrame:frame];
//configure newField appropriately
[[myWindow contentView] addSubview:newField];
[interfaceElements setObject:newField forKey:@"someUniqueIdentifier"];
[newField release];
}当然,字典对于这个方法来说不是本地的,但是我想你已经明白了。
或者,您也可以强制NSMatrix为您自动执行布局。
如果您正在为iPhone编写客户端应用程序,那么我强烈建议您从Settings Application Schema reference中获得灵感。如果你对此不熟悉,这里有一个简短的介绍: iPhone允许开发人员将他们的偏好区域从实际的应用程序移动到设置应用程序。这是通过创建设置包并以一种非常具体的方式构建plist来实现的。然后,Settings.app发现该plist,解析它,并根据它包含的定义构建一个接口。你可以做开关,文本字段(甚至是安全的),滑块,组,和一些其他类型的界面元素。
https://stackoverflow.com/questions/1082840
复制相似问题