Ich versuche derzeit, die Zustände eines Textfelds zu verfolgen.UIControlEventEditingChanged wird nicht ausgelöst, wenn setText von UITextfield verwendet
ich eine benutzerdefinierte Datepicker bin mit der der Text über -setText
[self.textField setText:[self.dateFormatter stringFromDate:self.date]];
Inside my textFieldDelegate setzt Ich schrieb den folgenden Code:
-(void)viewDidLoad {
[super viewDidLoad];
self.travelToOnTextField.delegate = self;
[self.travelToOnTextField addTarget:self action:@selector(travelToOnTextFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
}
-(void)travelToOnTextFieldDidChange:(id)sender
{
NSLog(@"Event Handler called");
}
Wenn ich ändern Sie den Text durch meine benutzerdefinierte Datumsauswahl Die Methode travelToOnDateTextFieldDidChange
wird nicht aufgerufen. Aber wenn ich den Text mit meiner Computertastatur ändere, wird er aus irgendeinem Grund aufgerufen.
Ist das beabsichtigt?
Vielen Dank für Ihre Lösung, Ich habe auch die Methode sendActionsForControlEvents verwendet. –
insertText funktioniert nicht. Aber '[textField sendActionsForControlEvents: UIControlEventEditingChanged]' funktioniert. – Gon
'insertText (_ :)' sollte nur funktionieren, wenn das Textfeld zuerst antwortet, weil die Dokumentation von 'UIKeyInput' besagt, dass Text an der Cursorposition eingefügt wird. – Raginmari