Как я могу изменить текстовое поле без действия кнопки - PullRequest
0 голосов
/ 23 ноября 2011

Для объективной разработки C и iOS, возможно ли изменить текстовое поле, когда пользователь нажимает клавишу.

Например: пользователь нажимает клавишу «k», но видит «a» в текстовом поле. (то же самое использование в PeterAnswers.com)

Ответы [ 3 ]

3 голосов
/ 23 ноября 2011

Да, я думаю, что это возможно. Вы должны взглянуть на этот 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 голос
/ 23 ноября 2011

Реализация метода textField:shouldChangeCharactersInRange:replacementString: протокола UITextFieldDelegate.

0 голосов
/ 23 ноября 2011

Полностью.Посмотрите на яблочную документацию по UITextFieldDelegate.Все, что вам нужно, тут же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...