我想创建一个简单不同的界面设计的简单计算器应用程序。如下图所示,我有三个来自用户的输入:第一个数字,运算符和第二个数字。我的问题是,一旦用户满足这三个文本字段,那么等号(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;
}
答案 0 :(得分:1)
当您在uitextfield中编写委托方法
时会打电话 在这个方法中检查所有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;
}