0

textfiled did changeメソッドを呼び出していますが、probelmは1.0を入力したいので、値が1.0または1.5または希望の値でない場合はエラーメッセージが表示される場合がありますが、1を入力するだけでエラーメッセージが表示されます。これを修正するには、このように完全な番号1.5または1.0を入力した後にメソッドを呼び出す必要があります

   -(void)textFieldTextDidChangeClinicMarkup:(UITextField*)tf{

   NSString*test=clinicMarkupTextField.text;


   if([test isEqualToString:@"1.0"]){
    NSString*value=@"1.0";

    appDelegate.clinicalMarkup=value;


   }

   else if([test isEqualToString:@"1.5"]){

    NSString*value=@"1.5";

    appDelegate.clinicalMarkup=value;


  }


  else if([test isEqualToString:@"2.0"]){

    NSString*value=@"2.0";

    appDelegate.clinicalMarkup=value;


 }


 else if([test isEqualToString:@"2.5"]){

    NSString*value=@"2.5";

    appDelegate.clinicalMarkup=value;


}


  else if([test isEqualToString:@"3.0"]){

    NSString*value=@"3.0";

    appDelegate.clinicalMarkup=value;


  }

  else{

    UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Warning" message:@"Value Must be as prescribed " delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];


   }


 }
4

5 に答える 5

3
-(void)textFieldTextDidChangeClinicMarkup:(UITextField*)tf{

   NSString*test=clinicMarkupTextField.text;


   if([test isEqualToString:@"1.0"]){
    NSString*value=@"1.0";

    appDelegate.clinicalMarkup=value;


   }

   else if([test isEqualToString:@"1.5"]){

    NSString*value=@"1.5";

    appDelegate.clinicalMarkup=value;


  }


  else if([test isEqualToString:@"2.0"]){

    NSString*value=@"2.0";

    appDelegate.clinicalMarkup=value;


 }


 else if([test isEqualToString:@"2.5"]){

    NSString*value=@"2.5";

    appDelegate.clinicalMarkup=value;


}


  else if([test isEqualToString:@"3.0"]){

    NSString*value=@"3.0";

    appDelegate.clinicalMarkup=value;


  }

  else if([test length] >=3 || [test floatValue] > 3 || [test floatValue] <1 )  {

    UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Warning" message:@"Value Must be as prescribed " delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];


   }


 }
于 2012-05-29T05:44:25.153 に答える
0

値が変更されたUITextFieldTextDidChangeNotificationときにメソッドを呼び出す のオブザーバーを追加できます。UITextField

[[NSNotificationCenter defaultCenter] 
                addObserver:self 
                selector:@selector(textFieldTextDidChangeClinicMarkup:)
                name:UITextFieldTextDidEndEditingNotification
                object:textFieldName];
于 2012-05-29T05:43:48.477 に答える