我想根据用户输入创建文本字段。假设需要5个文本域
for (int x = 0; x < self.howMany; x++)
{
NSLog(@"%i", x_position);
self.textFieldRounded = [[UITextField alloc] initWithFrame:CGRectMake(10, x_position, 300, 25)];
self.textFieldRounded.borderStyle = UITextBorderStyleRoundedRect;
self.textFieldRounded.textColor = [UIColor blackColor]; //text color
self.textFieldRounded.font = [UIFont systemFontOfSize:17.0]; //font size
[self.view addSubview:self.textFieldRounded];
x_position += 30;
}
到目前为止,这么好。该代码创建了五个文本字段。问题是这些文本字段不是“唯一的”。每个文本字段都可以包含不同的信息。该怎么做才能收集到每个领域的信息?
答案 0 :(得分:4)
为他们添加标签。
int i = 1;
for (int x = 0; x < self.howMany; x++)
{
NSLog(@"%i", x_position);
self.textFieldRounded = [[UITextField alloc] initWithFrame:CGRectMake(10, x_position, 300, 25)];
textFieldRounded.tag = i++;
...
然后,当您需要找到textfield 3时,请执行以下操作:
UITextField *textField = (UITextField *)[self.view viewWithTag:3];
答案 1 :(得分:1)
您可以为每个文字字段设置tag。
self.textFieldRounded.tag = x;
然后,您可以使用标记来标识文本字段。您可以使用this technique遍历self.view
以查找所有子视图(文本字段)。
答案 2 :(得分:0)
我认为您应该为每个信息采用不同的TextField,以便一切都清晰,如果您仍想使用一个文本字段,那么您可以为每个信息设置标记。
答案 3 :(得分:0)
您可以在NSMutableArray
中添加对每个TextField的引用,然后使用类似
for (UITextField *tmp in myArray) {
//do stuff with the textfield
}