如何在iOS6 UITextField中忽略占位符文本

时间:2014-01-07 16:13:52

标签: ios iphone objective-c uitextfield placeholder

我有一个数据录入应用程序,我主要使用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,写一些东西,然后删除我刚写的东西,验证是正确的(它表示形式是不完整的)。如果这有任何区别,我将从故事板中设置我的占位符。

谢谢

1 个答案:

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