对于Objective-C和iOS开发,当用户按下某个键时是否可以更改文本字段。
例如:用户按下键'k'但在文本字段中看到'a'。 (在PeterAnswers.com中的用法相同)
答案 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文档。你需要的一切就在那里。