0

我希望能够使用相同的代码将 1 到 20 个文本字段添加到我的视图中。

我的想法是使用 for 循环,每次添加一个文本字段,所以第一次循环添加“textField1”,第二次添加“textField2”等。

我不确定我将如何进行编码,所以我正在寻求您的帮助。

4

3 回答 3

1
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
于 2013-09-15T08:51:15.737 回答
1

试试这个代码

对于 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);
于 2013-09-15T08:59:20.553 回答
1
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];

于 2013-09-15T09:03:21.057 回答