我有一个数据录入应用程序,我主要使用iOS7开发,但它将支持ios 6.我注意到当我尝试验证表单时,我试图检查UITextField
是否为空在iOS6中,如果那里有占位符文本,它会告诉我它不是空的。在iOS 7中我没有这个问题。
除了将每个UITextField's
内容与整个应用中所有UITextFields
的placeholdet文本进行匹配之外,是否有人有任何有效的解决方案?
修改
如果验证是问题,这是我的验证代码。很简单,我使用强制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:
哦,这很奇怪。当我使用ViewController
加载UITextFields
时验证是错误的(它表示表单已完成,即使它不是)。但是如果我输入一个UITextField
,写一些东西,然后删除我刚写的东西,验证是正确的(它表示形式是不完整的)。如果这有任何区别,我将从故事板中设置我的占位符。
谢谢
答案 0 :(得分:5)
试试这个
-(void)checkIfComplete{
BOOL complete = YES;
for(int i = 0; i < self.mandatoryFields.count; i++){
UITextField *tempTextField = self.mandatoryFields[i];
if(tempTextField.text.length == 0){
complete = NO;
break;
}
}
self.btnSave.enabled = complete;
}