对于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/