为UITextfield设置If语句以检查输入的数字并执行操作(通过UIButton)

时间:2015-09-29 12:49:50

标签: ios uitextfield

我有三个UIText-field只输入300以下的数字。之后我们必须点击uibutton名为calculate。点击计算按钮后,它将计算输入的3个数字我的UITex-field并显示结果。

更新

我需要在按下UITextfield按钮之前或之后检查calculate的条件。在我的UITex字段中输入的值应仅低于300.如果输入的值超过300表示任何警告或uialert应该显示。怎么做?

这是我的三个文本字段,用于获取号码并执行操作:

 - (IBAction)calcBtn:(id)sender {

 if ([coffeTf.text <= 300] || [waterTf.text <=300] || [powderTf.text <=300]) {

        UIAlertView *error = [[UIAlertView alloc] initWithTitle:@"oops" message:@"You must complete all fields" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];

        [error show];

    }

    else {
        int cofee = [[self.coffeTf text] intValue];
        int water = [[self.waterTf text] intValue];
        int powder = [[self.powderTf text] intValue];


        float cutoff = (CGFloat) cofee/3 + water/3 + powder/2;
        NSLog(@"Result: %f", cutoff);
        NSString *cutmark = [NSString stringWithFormat:@"%.2f", Result];
        self.resultTf.text = Result;


    }

我已经更新了我的帖子。在我的代码中,我使用if语句来检查,但是我收到错误Expected identifier。因此我缺少任何代码:

 if ([coffeTf.text <= 300] || [waterTf.text <=300] || [powderTf.text <=300]) {

        UIAlertView *error = [[UIAlertView alloc] initWithTitle:@"oops" message:@"You must complete all fields" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];

        [error show];

    }

    else {
}

1 个答案:

答案 0 :(得分:0)

您应该使用textfield委托,设置textfields的委托并使用以下方法(假设您只在textfield中获取数值)

在.h文件界面中添加UITextField委托

yourViewController:UIViewController<UITextFieldDelegate>

在视图中使用DidLoad方法添加

coffeTf.delegate = self;
waterTf.delegate = self;
powderTf.delegate = self;

然后只需复制粘贴以下内容即可。不要改变任何东西

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
  NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
return [newString intValue] < 300;
}

通过这种方式,文本字段永远不会达到300或更高的值。