我需要以不同的方式验证两个uitextfields。我该怎么做呢?

时间:2012-12-16 00:01:16

标签: ios uikit uitextfield uitextfielddelegate

一个文本字段仅采用字母字符,另一个文本字段采用字母数字。我在我的ViewController中为其中一个定义了shouldChangeCharactersInRange。现在我不知道我应该在哪里定义其他uitextfield的逻辑。

有人可以帮我理解这应该如何运作吗?

2 个答案:

答案 0 :(得分:2)

如果它们都具有相同的委托,那么它们都将在相同的shouldChangeCharactersInRange方法中进行验证。您需要在该方法中放置一个if-else子句来检查哪个文本字段是发件人。您需要两个文本字段的IBOutlets,以便进行比较。

答案 1 :(得分:1)

你有几个选择。如果您为文本字段创建了iVar,那么检查哪一个正在调用shouldChangeCharactersInRange就像==一样简单。下面我还说明了另一种选择是为文本字段分配标签并检查发送文本字段的标签。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    //Your first option
    if (textField == myFirstTextField) {
        //
    }else{
        //
    }
    //another option, if you don't want to create iVars you can assign tags to your text fields and do this
    if (textField.tag == 99) {
        //
    }else{
        //
    }
}