一个文本字段只需要字母字符,另一个字母是字母数字。我已经在我的ViewController中为其中的一个定义了shouldChangeCharactersInRange。现在我不知道我应该在哪里定义其他uitextfield的逻辑。我需要验证两个uitextfields的不同。我该怎么做呢?
有人能帮我理解这应该如何工作吗?
一个文本字段只需要字母字符,另一个字母是字母数字。我已经在我的ViewController中为其中的一个定义了shouldChangeCharactersInRange。现在我不知道我应该在哪里定义其他uitextfield的逻辑。我需要验证两个uitextfields的不同。我该怎么做呢?
有人能帮我理解这应该如何工作吗?
你有几个选项。如果您为文本字段创建了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{
//
}
}
如果它们都具有相同的委托,他们都希望能在同一shouldChangeCharactersInRange方法验证。您需要在该方法中添加if-else子句以检查哪个文本字段是发件人。您需要两个文本字段的IBOutlets,以便您可以进行比较。