Ответ 1
Вы можете напрямую обрабатывать события клавиатуры каждый раз, когда пользователь нажимает клавишу:
В случае UITextField
- (BOOL)textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string {
// Do something here...
}
В случае UITextView:
- (BOOL)textView:(UITextView *)textView
shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text {
// Do something here...
}
Поэтому каждый раз один из этих методов вызывается для каждой клавиши, которую вы нажимаете с помощью клавиатуры.
Вы также можете использовать NSNotificationCenter. Вам нужно только добавить любой из них в метод ViewDidLoad.
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
UITextField:
[notificationCenter addObserver:self
selector:@selector(textFieldText:)
name:UITextFieldTextDidChangeNotification
object:yourtextfield];
Затем вы можете поместить свой код в метод textFieldText:
:
- (void)textFieldText:(id)notification {
// Do something here...
}
UITextView
[notificationCenter addObserver:self
selector:@selector(textViewText:)
name:UITextViewTextDidChangeNotification
object:yourtextView];
Затем вы можете поместить свой код в метод textViewText:
:
- (void)textViewText:(id)notification {
// Do something here...
}
Надеюсь, что это поможет.