【发布时间】:2014-01-25 10:08:32
【问题描述】:
我有一个数据输入应用程序,我主要以 iOS7 为重点开发,但它将支持 ios 6。我注意到,当我尝试检查 UITextField 是否为空时,当我尝试在 iOS6 中验证表单时如果那里有 占位符文本,它会告诉我它不是空的。在 iOS 7 中我没有这个问题。
除了将每个UITextField's 内容与整个应用程序中所有UITextFields 的占位符文本匹配之外,是否有人对此有任何有效的解决方案?
编辑:
如果验证是问题,这是我的验证代码。非常简单,我使用强制 UITextFields 遍历数组并检查其中是否有任何输入。
-(void)checkIfComplete{
BOOL complete = YES;
for(int i = 0; i < self.mandatoryFields.count; i++){
UITextField *tempTextField = self.mandatoryFields[i];
if([tempTextField.text isEqual: @""]){
complete = NO;
}
}
if(complete){
self.btnSave.enabled = YES;
}else{
self.btnSave.enabled = NO;
}
}
编辑 2:
好吧,这很奇怪。当我用UITextFields 加载ViewController 时,验证是错误的(它说表单是完整的,即使它不是)。但是如果我输入UITextField,写一些东西然后删除我刚刚写的验证是正确的(它说表单不完整时)。如果这有什么不同,我将从情节提要中设置占位符。
谢谢
【问题讨论】:
-
发布您的相关代码。文本字段的
placeholder不会干扰其text值。一定有其他事情发生。 -
@rmaddy 谢谢,已更新
-
您没有解释发布代码的问题所在。是否存在显示为空但检查失败的字段?也许他们有一个空格或其他空格。使用调试器并运行这段代码,看看发生了什么。
标签: ios iphone objective-c uitextfield placeholder