对于Objective-C和iOS开发,用户按下键时是否可以更改文本字段。

例如:用户按下键“ k”,但在文本字段中看到“ a”。 (与PeterAnswers.com中的用法相同)

最佳答案

是的,我认为这是可能的。您应该看一下UITextField委托方法:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;


您应该能够在实际的文本字段中显示输入字符串之前对其进行操作。您的问题的具体实现可以是:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    // if the user entered x...
    if ([string isEqualToString:@"x"]){
        textField.text = [NSString stringWithFormat:@"%@a", textField.text]; // ...append the previous string with the 'a' token instead!
        return NO; // return NO to make sure the x isn't put in the textField
    }
}


不要忘记确保将UITextField委托链接到放置此代码的类。

希望能帮助到你!

关于objective-c - 如何在没有按钮 Action 的情况下更改文本字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8234072/

10-14 21:29