0

テキストフィールドを作成しました動的にテキストフィールドに入力されたテキストにアクセスする必要があります。これを行うのを手伝ってください。

 -(void)createHHDynamicFieldForYValue:(int )yVal
  {

NSString *lblStr=[[NSString alloc]initWithString:[[healthyHeartFieldsAry objectAtIndex:tagHHCount] objectForKey:@"TestName"]];

dynamicHealthyHeartLbl=[[UILabel alloc] initWithFrame:CGRectMake(50,yVal,278,45)];
dynamicHealthyHeartLbl.backgroundColor=[UIColor clearColor];
dynamicHealthyHeartLbl.textColor=[UIColor colorWithRed:17/255.0 green:61/255.0 blue:83/255.0 alpha:1];
dynamicHealthyHeartLbl.textAlignment = UITextAlignmentLeft;
dynamicHealthyHeartLbl.text=lblStr;
dynamicHealthyHeartLbl.font = [UIFont boldSystemFontOfSize:18];
[healthyHeartScrollView addSubview:dynamicHealthyHeartLbl];
[dynamicHealthyHeartLbl release];
[lblStr release];



dynamicHealthyHeartImgVw=[[UIImageView alloc] initWithFrame:CGRectMake(375, yVal, 278,kTxtImgHgVal)];
dynamicHealthyHeartImgVw.image=[UIImage imageNamed:@"birth_date.png"];
dynamicHealthyHeartImgVw.backgroundColor=[UIColor clearColor];
[healthyHeartScrollView addSubview:dynamicHealthyHeartImgVw];
[dynamicHealthyHeartImgVw release];



dynamicHealthyHeartTxtFld=[[UITextField alloc] initWithFrame:CGRectMake(380,yVal,278,kTxtImgHgVal )];
dynamicHealthyHeartTxtFld.borderStyle = UITextBorderStyleNone;
dynamicHealthyHeartTxtFld.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
dynamicHealthyHeartTxtFld.textAlignment=UITextAlignmentLeft;
dynamicHealthyHeartTxtFld.textColor=[UIColor colorWithRed:17/255.0 green:61/255.0 blue:83/255.0 alpha:1];
dynamicHealthyHeartTxtFld.font = [UIFont systemFontOfSize:18];
dynamicHealthyHeartTxtFld.backgroundColor = [UIColor clearColor];
dynamicHealthyHeartTxtFld.autocorrectionType = UITextAutocorrectionTypeNo;
dynamicHealthyHeartTxtFld.returnKeyType = UIReturnKeyDone;
dynamicHealthyHeartTxtFld.clearButtonMode = UITextFieldViewModeWhileEditing;
dynamicHealthyHeartTxtFld.autocapitalizationType=UITextAutocapitalizationTypeNone;
dynamicHealthyHeartTxtFld.delegate = self;
dynamicHealthyHeartTxtFld.placeholder=[[healthyHeartFieldsAry objectAtIndex:tagHHCount] objectForKey:@"TestName"];
dynamicHealthyHeartTxtFld.tag=tagHHCount;
[healthyHeartScrollView addSubview:dynamicHealthyHeartTxtFld];
[dynamicHealthyHeartTxtFld release];


[healthyHeart_TxtFldAry addObject:dynamicHealthyHeartTxtFld];

[dynamicHealthyHeartTxtFld release];


tagHHCount++;


}

int YVal=35;
tagHHCount=0;
NSLog(@"healthyHeartFieldsAry Count %d",[healthyHeartFieldsAry count]);
for (int i=0; i<[healthyHeartFieldsAry count]; i++)
{
    [self createHHDynamicFieldForYValue:YVal];
    YVal=YVal+80;
}

In TextField で編集が終了しました

    - (void)textFieldDidEndEditing:(UITextField *)textField
    {
        if(enteredHealthyHeart)
        {
            for(int i=0;i<[healthyHeart_TxtFldAry count];i++)
            {
                if(textField == [healthyHeart_TxtFldAry objectAtIndex:i])
                {
                    getHHTag=textField.tag;
                    //              UITextField *tempTxtFld=[healthyHeart_TxtFldAry objectAtIndex:getHHTag];

                dynamicHealthyHeartTxtFld=[healthyHeart_TxtFldAry objectAtIndex:getHHTag];
                if([dynamicHealthyHeartTxtFld.text length]>0)
                {
                    NSString *tempStr=dynamicHealthyHeartTxtFld.text;
                    NSLog(@"tempStr %@",tempStr);
                    if(![self checkForDecimalValue:tempStr])
                    {
                    Custom_Alert *alert=[[Custom_Alert alloc] initWithTitle:@"Alert" message:@"Please Enter Numeric Values" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
                    [alert show];
                    [alert release];

                }
                else
                {

                    if(([tempStr intValue] >= [[[healthyHeartFieldsAry objectAtIndex:getHHTag] objectForKey:@"MinVal"] intValue])&&([tempStr intValue] <= [[[healthyHeartFieldsAry objectAtIndex:getHHTag]objectForKey:@"MaxVal"]intValue]))
                    {
                        NSLog(@"validation Succcess!!!");
                    }
                    else
                    {
                        Custom_Alert *alert=[[Custom_Alert alloc] initWithTitle:@"Alert" message:@"Please check the Details" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
                        [alert show];
                        [alert release];
                    }


                }
            }


            [textField resignFirstResponder];
            //return YES;

        }
    }

}

}

textField テキストにアクセスする方法を知りたいです。入力されたテキストフィールドのテキストを識別する方法。何か助けて???

4

4 に答える 4

1

textField への参照がある限り、それは単なるプロパティです

textField.text現在 textField に入力されているものは何でも返します。

于 2012-08-17T13:05:10.993 に答える
0

UITextFiledオブジェクトのプロパティを作成したら、それにアクセスしtxtFiled.text[txtFiled text]両方を使用できます。

于 2012-08-17T13:18:37.033 に答える
0

ファイルでテキストフィールドを宣言している場合は、interfaceインスタンス変数を介してアクセスできます。

NSLog(@"text from textfield: %@", dynamicTextField.text);

またはプロパティ経由:

NSLog(@"text from textfield: %@", self.dynamicTextField.text);

forただし、ループ内に多くのテキストフィールドを作成する場合は、次のようにします。

textField の作成中に、次のように言います。

dynamicTextField.tag = x;

ここで、「x」はループのインクリメントされた整数です。

ここで、その値にアクセスするには、次のように言います。

for(UITextField *texter in self.view.subviews)
   if(texter.tag == 1)//or any other tag number you have specified on creating the textField
       NSLog(@"textfield with tag 1 contains text: %@", texter.text);

目的のテキストフィールドに割り当てられたタグ番号を覚えておく必要があります

于 2012-08-17T13:07:38.223 に答える
0

このメソッド- (void)textFieldDidEndEditing:(UITextField *)textFieldでは、引数はユーザーが入力されるテキストフィールドです。

textField.textテキストフィールドからデータを取得するため、およびtextField.tagタグを取得するために使用します (テキストフィールドを識別するため)。

NSlog(@"%@",textField.text); //print the text content
NSlog(@"%d",textField.tag); //print the tag
于 2012-08-17T19:10:02.780 に答える