Проверьте UITextField на нажатия клавиш, когда они случаются, сводя меня с ума :-) - PullRequest
0 голосов
/ 05 октября 2010

Я очень новичок в этом, и мне жаль задавать этот вопрос.

Я пытаюсь заставить это работать для моего кода, но просто не понимаю. Что бы я ни делал, клавиша, которую я нажимаю, появляется в NSLog одним нажатием клавиши. Я знаю, что «shouldChangeCharactersInRange» работает таким образом, и я занимался серфингом и пытался протестировать некоторые решения, которые я нашел. Один из них: Используя `textField: shouldChangeCharactersInRange:`, как мне получить текст, включающий текущий набранный символ? , но я все еще просто не понимаю.

мой текущий тестовый код после того, как я попытался заставить его работать и изменил его обратно:

-(BOOL) textField: (UITextField *)theTextField shouldChangeCharactersInRange: (NSRange)range replacementString: (NSString *)string {
    NSLog(@"%@", MyTextField.text);

    MyTextField.text = MyTextField.text;

   return YES;
}

MyTextField - текстовое поле, в которое я вписываю.

Может ли кто-нибудь приятно показать мне, как получить эту работу, чтобы я мог отслеживать каждое нажатие клавиши, когда это происходит, а не нажатие клавиши после?

1 Ответ

1 голос
/ 05 октября 2010

Чтобы увидеть только что нажатую клавишу, используйте:

NSLog(@"%@", string);

Технически, это может быть несколько символов, например, при операции вырезания, вставки или отмены.

Значение текстового поля фактически не изменяется до тех пор, пока метод не завершится. Если вы хотите увидеть значение текстового поля, используйте

NSLog(@"%@", [MyTextField.text stringByReplacingCharactersInRange:range withString:string);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...