我希望能够使用相同的代码将 1 到 20 个文本字段添加到我的视图中。
我的想法是使用 for 循环,每次添加一个文本字段,所以第一次循环添加“textField1”,第二次添加“textField2”等。
我不确定我将如何进行编码,所以我正在寻求您的帮助。
我希望能够使用相同的代码将 1 到 20 个文本字段添加到我的视图中。
我的想法是使用 for 循环,每次添加一个文本字段,所以第一次循环添加“textField1”,第二次添加“textField2”等。
我不确定我将如何进行编码,所以我正在寻求您的帮助。
for (int i = 0; i < 20; i++)
{
UITextField *textField = //setup field
textField.tag = i;
[self.view addSubview:textField];
}
然后当你想稍后引用一个字段时
UITextField *textField6 = [self.view viewWithTag:6];
UITextField *textField18 = [self.view viewWithTag:18];
etc
试试这个代码
对于 20 个文本字段,您需要将它们放入 UIScrollView .. 您可以这样做——
UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0,0,320,460)];
[scrollView setDelegate:self];
//initialize a textfield array;
NSMutableArray *textFieldArray = [[NSMutableArray alloc]init];
//x, y for first textfield in UIScrollView
float x = 20;
float y = 20;
For(int i=1;i<21;i++)
{
UITextfield *textField = [[UITextfield alloc]initWithFrame:CGRectMake(x,y,200,30)];
textfield.tag = i;
[textField setDelegate:self];
//Add Textfield to array just for futureRefrence
[textFieldArray addObject:textField];
//Add textfield in UIScrollView
[scrollView addSubview:textField];
//Now iterate Y , So they won't over each other
y = y+50;
}
//Now set ScrollView ContentSize
[scrollView setContentSize:CGSizeMake:(320,20*y)];
//Now Finally Add ScrollView in UIView
[self.view addSubView:scrollView];
还记得在 .h 文件中声明委托。您可以通过放入它们的数组来访问这些文本字段,例如
如果您想要文本字段三中的值,您可以这样做
UITextfield *textfield = (UITextfield *)[textFieldArray objectAtIndex:2];
NSLog(@"text of textField 3 is -- %@",textfield.text);
NSMutableArray* tfArray = [[NSMutableArray alloc]init];
for (int i = 0; i < 20; i++)
{
UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(x, y, width, height)];
[self.view addSubview:textField];
[tfArray addObject:textField];
}
如果你想引用一个字段:
第 6 个文本字段例如: (UITextField*)tfArray[5];