如何知道textFields已经完成

时间:2014-09-19 02:33:42

标签: ios uitextfield

我想创建一个简单不同的界面设计的简单计算器应用程序。如下图所示,我有三个来自用户的输入:第一个数字,运算符和第二个数字。我的问题是,一旦用户满足这三个文本字段,那么等号(resultBtn)会改变颜色。我想知道如何知道所有这些文本字段何时已满。顺便说一下,我刚刚将Xcode从5.1更新到6.0.1,然后一旦我点击文本字段,键盘就不显示了。

- (IBAction)resultBtn:(id)sender {

    double temp;

    if([operatorTF.text isEqual:@"+"])
    {
    temp=[calculate arithmetic:[firstNumberTF.text doubleValue] enterCharacter:Plus enterSecond:[secondNumberTF.text doubleValue]];
    }
    else if([operatorTF.text isEqual:@"-"])
    {
    temp=[calculate arithmetic:[firstNumberTF.text doubleValue] enterCharacter:Minus enterSecond:[secondNumberTF.text doubleValue]];
    }
    else if([operatorTF.text isEqual:@"/"])
    {
      temp=  [calculate arithmetic:[firstNumberTF.text doubleValue] enterCharacter:Divide enterSecond:[secondNumberTF.text doubleValue]];
    }
    else if([operatorTF.text isEqual:@"^"])
    {
        temp=  [calculate arithmetic:[firstNumberTF.text doubleValue] enterCharacter:Power enterSecond:[secondNumberTF.text doubleValue]];
    }
    else {
       temp= [calculate arithmetic:[firstNumberTF.text doubleValue] enterCharacter:Multiply enterSecond:[secondNumberTF.text doubleValue]];
    }
    resultTF.hidden= NO;
    resultTF.text=[NSString stringWithFormat:@"%1.2f",temp];
}

- (IBAction)clearBtn:(id)sender {
    firstNumberTF.text = nil;
    resultTF.text = nil;
    secondNumberTF.text = nil;
    operatorTF.text=nil;
    resultTF.hidden= YES;
   // [resultBtnOutlet setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];

}

- (BOOL)textFieldShouldReturn: (UITextField *)textField {

    if(textField.tag == 0)
    {
        firstNumberTF.text = textField.text;
    }
    else if(textField.tag == 1)
    {
        operatorTF.text = textField.text;
    }
    else if(textField.tag == 2)
    {
        secondNumberTF.text = textField.text;
    }
    else
    {
        resultTF.text = textField.text;
    }

    [textField resignFirstResponder];
    return YES;
}

enter image description here

2 个答案:

答案 0 :(得分:1)

当您在uitextfield中编写委托方法

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

会打电话  在这个方法中检查所有uitextfields的长度大于0,表示所有文本字段都是fullfill。

firstTxt.lenght大于0

答案 1 :(得分:0)

使用if (![firstNumberTF.text isEqualToString:@""])检查txtField是否为空。

使用以下内容同时检查多个文本字段。

if (![firstNumberTF.text isEqualToString:@""] && ![operatorTF.text isEqualToString:@""] && ![secondNumberTF.text isEqualToString:@""]) {
   resultBtnOutlet setTitleColor:[UIColor grayColor] forState:UIControlStateNormal;
}
相关问题