如何在每次点击按钮时逐个创建文本字段?

时间:2017-03-22 14:43:17

标签: objective-c for-loop uibutton uitextfield

这是我的任务.. 现在怎么样? 如果我点击按钮,我将逐个获得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;
}}

How it is working now

2 个答案:

答案 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条件以检查计数