2017-03-22 3 views
0

ここは私の仕事です。 どのように動作していますか? ボタンをクリックすると、5つのテキストフィールドが1つずつ表示されます。しかし、ボタンのクリックごとにテキストフィールドを作成したい。ボタンをクリックするたびにテキストフィールドを1つずつ作成する方法は?

例:まず、クリックが第一のテキストフィールドを作成する必要があります
セカンドクリックし
サードクリックして、5番目のテキストフィールドを作成する必要があります
第四にクリックして、4番目のテキストフィールドに
フィフスクリックを作成する必要があります第三テキストフィールドを作成する必要があります第二のテキストフィールドを作成する必要があります

ここで

私のコードです:

- (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

+0

あなただけのクリックごとに一つのボタンを追加したい場合は、条件は、なぜあなたはクリックあたり5を作成するためにループを使用しない場合に追加する

yAxis = yAxis+60 count = count+1 

思い出してくれるか? – rmaddy

+0

私は5つのテキストフィールドを作成する必要があるので。 – Nithya

+0

ボタンがタップされるたびに追加されるのは1つだけです。その後、ループを取り除く。 – rmaddy

答えて

1

5回実行するforループのbutton_clickメソッドを使用しています。したがって、5つのテキストフィールドを追加しています。

forループを削除すると、各ボタンのクリックごとに1つのテキストフィールドが表示されます。また、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++; 
} 
+0

「私」とは何ですか?これにより、新しいテキストフィールドのそれぞれが他のテキストフィールドの上に置かれます。 – rmaddy

+0

はい..それは動作しています – Nithya

+0

あなたの更新はまだ間違っています。あなたはまだ 'i'という名前の未知の変数を持っています。そして、あなたは 'button_click'メソッドで未知の変数' xaxis'と 'yaxis'を使用しています。 – rmaddy

0

まずあなたがloop.thereためcount.andが0でそれを初期化するための変数を作成することのloop.Insteadのための必要はありません削除し、ために別の変数を作成する必要がありますY軸。例については

var count = 0 
var yAxis = 60 

はその後、ボタンの出口アクションであなたがprogramically

UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(20,yAxis,200,30)]; 

ボタンを作成する必要があります次に、あなたのビューににこれを追加する必要があります。

[self.view addSubview:textField]; 

yAxisの高さを上げる必要があります。チェック回数

+0

これはObjective-Cに関する質問です。回答は適切な言語にする必要があります。 Objective-Cの半分とSwiftの半分があります。 – rmaddy

関連する問題