如何在没有按钮操作的情况下更改文本字段

时间:2011-11-22 21:30:03

标签: objective-c ios xcode ios5

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

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

3 个答案:

答案 0 :(得分:3)

是的,我认为这是可能的。您应该看看这个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委托链接到您放置此代码的班级。

希望它有所帮助!

答案 1 :(得分:1)

实施UITextFieldDelegate协议的textField:shouldChangeCharactersInRange:replacementString:方法。

答案 2 :(得分:0)

共。查看UITextFieldDelegate上的Apple文档。你需要的一切就在那里。