如果uitextfield为空,我试图获取,如果要在ibaction中运行以下代码。
float uu = ([u.text floatValue]);
float ss = ([s.text floatValue ]);
float aa = ([a.text floatValue ]);
float x1float = sqrt((uu * uu) +(2*aa*ss));
v.text = [[NSString alloc]initWithFormat:@"%f", x1float];
其中v.text是uitextfield中的文本
答案 0 :(得分:5)
我假设你的主要挑战不仅仅是检查text
的{{1}}属性是否为空,而是让它在用户输入时执行该检查。要简单地检查文本字段是否为空,您只需执行以下操作:
UITextField
但是,如果您尝试让文本字段在其变空时“自动”执行计算,请执行以下操作:为if (aTextField.text == nil || [aTextField.text length] == 0)
设置委托。在文本字段中更改任何字符之前,将调用委托的UITextField
方法。在该方法中,执行以下操作:
textField:shouldChangeCharactersInRange:replacementString:
您在延迟后执行- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
[self performSelector:@selector(updateEmptyTextField:) withObject:textField afterDelay:0];
return YES;
}
因为updateEmptyTextField
尚未应用其代表刚刚批准的更改。然后,在UITextField
中执行以下操作:
updateEmptyTextField:
注意:您可能需要在首次显示视图时手动运行一次检查,因为在用户开始在文本字段中键入内容之前,不会调用- (void)updateEmptyTextField:(UITextField *)aTextField {
if (aTextField.text == nil || [aTextField.text length] == 0) {
// Replace empty text in aTextField
}
}
。