我有一个名为setUpArray的可变数组,我想动态生成UITextField .textFields的数量必须等于[setUpArray count]。我试过以下代码。有用 用于生成UITextFields,但问题是它们都具有相同的名称。所以我无法独立设置单个文本的属性。
for(int i=0;i<[setUpArray count];i++)
{
UITextField *nameTextField=[[UITextField alloc]initWithFrame:CGRectMake(x, y, 60, 40)];
nameTextField.delegate=self;
[view addSubview:nameTextField];
y=y+50;
}
所以请给我解决这个问题的方法。
答案 0 :(得分:2)
您可能希望稍后使用标记来访问它们。就像那样:
for(int i=0;i<[setUpArray count];i++) {
UITextField *nameTextField=[[UITextField alloc]initWithFrame:CGRectMake(x, y, 60, 40)];
nameTextField.delegate=self;
[view addSubview:label];
y=y+50;
nameTextField.tag = 10 + i;
}
稍后访问它:
UITextField *theTextField = [view viewWithTag:12]; //or any other number
希望有所帮助
答案 1 :(得分:0)
您可以添加:=
nameTextField.tag=i;
for(int i=0;i<[setUpArray count];i++)
{
UITextField *nameTextField=[[UITextField alloc]initWithFrame:CGRectMake(x, y, 60, 40)];
nameTextField.delegate=self;
nameTextField.tag = i;
[view addSubview:nameTextField];
y=y+50;
}
and access it using :-
if(nameTextField.tag==someIntValue)
{
//perform this operation
}