这是我的任务.. 现在怎么样? 如果我点击按钮,我将逐个获得5个文本字段。但我想在每次点击按钮时创建一个文本字段。
例如:首先点击应该创建第一个文本字段
第二次单击应创建第二个文本字段
第三次点击应创建第三个文本字段
第四次点击应创建第四个文本字段
第五次点击应该创建第五个文本字段
这是我的代码:
- (IBAction)button_click:(id)sender
{
float xaxis = 60;
float yaxis = 130;
for(int i=0;i<5;i++)
{
UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(xaxis,yaxis,200,30)];
textField.tag = i;
textField.backgroundColor = [UIColor purpleColor];
[self.view addSubview:textField];
yaxis = yaxis+50;
}}
答案 0 :(得分:1)
你在button_click方法上使用for循环,该方法执行五次。所以它添加了五个文本字段。
删除for循环,这将在每个按钮点击时应用一个文本字段。您还需要在viewDidLoad方法中定义变量xaxis,yaxis。
更新了代码
@interface myController : UIViewController {
float xaxis;
float yaxis;
int i;
}
@end
- (void)viewDidLoad
{
xaxis = 60;
yaxis = 130;
i = 1;
}
- (IBAction)button_click:(id)sender
{
UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(xaxis,yaxis,200,30)];
textField.tag = i;
textField.backgroundColor = [UIColor purpleColor];
[self.view addSubview:textField];
yaxis = yaxis+50;
i++;
}
答案 1 :(得分:0)
首先你需要删除for循环。不需要for循环。相反,为count创建一个变量,并用0初始化它,并为Y轴创建另一个变量。
对于Ex:
var count = 0
var yAxis = 60
然后在按钮的插座动作中,您需要以编程方式创建按钮
UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(20,yAxis,200,30)];
然后您需要将此添加到您的视图中。
[self.view addSubview:textField];
然后你需要增加yAxis的高度。
yAxis = yAxis+60
count = count+1
记住添加if条件以检查计数