如何在第一个uitextfield完成输入后自动计算第二个uitextfield

时间:2012-08-29 04:37:59

标签: iphone ios uitextfield uitextfielddelegate

我有2 uitextfields(dollarPayTextField和rielPayTexField)。完成dollarPayTextField输入后,我希望自动计算rielPayTextField

例如,总计:10美元,当我在dollarPayTextField中键入9 $时,我希望rielPayTextField显示4000.那么,我怎么能这样做?这是我计算余数的代码:

-(void)updateChangeRemainInriel{
    double dollarPay = [self.dollarPayTextField.text doubleValue];
    double dollarRemain = [self.abill getTotalPrice] - dollarPay;
    NSLog(@"%.2f",[self.dollarPayTextField.text doubleValue]);
    self.rielPayTextField.text =  [NSString stringWithFormat:@"%.2f",dollarRemain * self.anExchangeRate.rielBuyPerDollar];
}

2 个答案:

答案 0 :(得分:0)

  - (void)textFieldDidBeginEditing:(UITextField *)textField;
        {
               self.txtRiel.text=textField.text*100;// your calculation over here
        }

另请参阅代表方法

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;
- (void)textFieldDidBeginEditing:(UITextField *)textField;
- (void)textFieldDidEndEditing:(UITextField *)textField;

参考Apple Documentation here

答案 1 :(得分:0)

希望您在.h文件中添加 UITextFieldDelegate ,在.m文件中添加 your_textField.delegate = self; 。如果您使用它,它会在每次输入更改时计算

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

   [textField addTarget:self action:@selector(yourTextFieldChanged:) forControlEvents:UIControlEventEditingChanged];  

    return YES;
}

- (void)yourTextFieldChanged:(UITextField *)textField
{
   double dollarPay = [self.dollarPayTextField.text doubleValue];
   double dollarRemain = [self.abill getTotalPrice] - dollarPay;
   NSLog(@"%.2f",[self.dollarPayTextField.text doubleValue]);
   self.rielPayTextField.text =  [NSString stringWithFormat:@"%.2f",dollarRemain *    self.anExchangeRate.rielBuyPerDollar];
}

如果你使用它,它会在你输入值

后计算
-(void)textFieldDidEndEditing:(UITextField *)textField{
   double dollarPay = [self.dollarPayTextField.text doubleValue];
   double dollarRemain = [self.abill getTotalPrice] - dollarPay;
   NSLog(@"%.2f",[self.dollarPayTextField.text doubleValue]);
   self.rielPayTextField.text =  [NSString stringWithFormat:@"%.2f",dollarRemain *    self.anExchangeRate.rielBuyPerDollar];
}