0

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

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

4

2 回答 2

2

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

于 2012-12-16T00:08:27.940 回答
1

你有几个选择。如果您为文本字段创建了 iVar,则检查调用shouldChangeCharactersInRange的是哪个 iVar 就像==. 下面我还展示了另一个选项是将标签分配给文本字段并检查发送文本字段的标签。

- (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{
        //
    }
}
于 2012-12-16T00:12:22.737 回答