我有三个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 {
}
答案 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或更高的值。