如何检测uitextfield长度

时间:2010-10-10 17:24:09

标签: iphone uitextfield

如果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中的文本

1 个答案:

答案 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 } }