Как я могу сделать так, чтобы при изменении содержимого текстового поля вызывается функция?
Значение изменения UITextField?
Ответ 1
[myTextField addTarget:self
action:@selector(textFieldDidChange:)
forControlEvents:UIControlEventEditingChanged];
Ответ 2
На самом деле, для события UITextField
нет значения с измененным значением, используйте UIControlEventEditingChanged
Ответ 3
Я решил проблему изменения поведения shouldChangeChractersInRange. Если вы вернетесь НЕТ, изменения не будут применяться iOS внутренне, вместо этого у вас есть возможность изменить его вручную и выполнить любые действия после изменений.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
//Replace the string manually in the textbox
textField.text = [textField.text stringByReplacingCharactersInRange:range withString:string];
//perform any logic here now that you are sure the textbox text has changed
[self didChangeTextInTextField:textField];
return NO; //this make iOS not to perform any action
}
Ответ 4
Для быстрой загрузки это удобно -
textField.addTarget(self, action: #selector(onTextChange), forControlEvents: UIControlEvents.EditingChanged)