2012-02-03 14 views
2

ユーザー入力に基づいてテキストフィールドを作成します。 5つのテキストフィールドが必要だとしましょう。ユーザー入力に基づいてテキストフィールドを作成します。

for (int x = 0; x < self.howMany; x++) 
{ 
    NSLog(@"%i", x_position); 
    self.textFieldRounded = [[UITextField alloc] initWithFrame:CGRectMake(10, x_position, 300, 25)]; 
    self.textFieldRounded.borderStyle = UITextBorderStyleRoundedRect; 
    self.textFieldRounded.textColor = [UIColor blackColor]; //text color 
    self.textFieldRounded.font = [UIFont systemFontOfSize:17.0]; //font size 

    [self.view addSubview:self.textFieldRounded]; 
    x_position += 30; 
} 

これまでのところ、とても良いです。そのコードは5つのテキストフィールドを作成します。問題は、これらのテキストフィールドが「ユニーク」ではないということです。これらのテキストフィールドのそれぞれは、異なる情報を含むことができます。これらのフィールドのそれぞれの情報を収集できるようにするにはどうすればよいですか?

答えて

4

タグを追加します。

int i = 1; 
for (int x = 0; x < self.howMany; x++) 
{ 
    NSLog(@"%i", x_position); 
    self.textFieldRounded = [[UITextField alloc] initWithFrame:CGRectMake(10, x_position, 300, 25)]; 
textFieldRounded.tag = i++; 
... 

そして、あなたは、たとえばテキストフィールド3を見つけ実行する必要があります。

UITextField *textField = (UITextField *)[self.view viewWithTag:3]; 
1

あなたは、各テキストフィールドにtagを設定することができます。

次に、タグを使用してテキストフィールドを識別できます。 self.viewを繰り返して、this techniqueを使用してすべてのサブビュー(テキストフィールド)を見つけることができます。

+0

唯一の問題は、最初のタグが0になり、すべてのビューは0を持っているようなものを使用して配列を反復処理でき最初のテキストフィールドをタグで見つけることはできません。 – vakio

0

すべての情報をクリアするように各情報ごとに異なるTextFieldを使用し、1つのテキストフィールドを使いたい場合は、各情報のタグを設定することができます。

0

あなたはNSMutableArrayに各テキストフィールドへの参照を追加して、Xにタグを設定すると

for (UITextField *tmp in myArray) { 
//do stuff with the textfield 
} 
関連する問題