2016-03-22 3 views
0

Normalerweise bekommen wir von UITextField Text Änderung benachrichtigt von UITextFieldTextDidChangeNotification, editingDidChange:, textField:shouldChangeCharactersInRange:replacementString: usw. Aber keiner von ihnen wird ausgelöst, wenn UITextField durch Code geändert wird, wie textField.text = @"";Wie kann ich benachrichtigt werden, wenn sich der Text eines UITextFeilds ändert, entweder nach Code oder nach Benutzer?

fand ich, dass mehr als oft ich einen Rückruf benötigen, die beide feuern nach Code und Benutzer. Zum Beispiel, wenn ich Eingabe bestätigen und aktivieren/deaktivieren Sie die Schaltfläche senden muss, wenn ich die Höhe von UITextView ändern müssen, um seinen Inhalt anzupassen ...

Jetzt muss ich explizit die Handler aufrufen. Gibt es eine Möglichkeit, mich vor den Schwierigkeiten zu retten? Danke im Voraus!

+0

Nein, was Sie tun, ist, was Sie tun müssen. Das ist eine gute Sache, sonst könnten Sie Probleme mit der Rekursion haben. – rmaddy

+0

Ich verstehe. Thans @rmaddy :) – Hampotato

Antwort

0

du versuchen ...

1.Take eine globale Variable von UITextField

2.Give Tags zu Ihrem Textfeld

3.Und die Variable in jedem Textfeld Delegatmethode zuweisen und benutze es wie du willst.

überprüfen Sie diese z.

@interface ViewController() 

{ 
UITextField * actvieField; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    self.firstTextField.tag = 1; 
    self.secondTextField.tag = 2; 
    self.thirdTextField.tag = 3; 
} 

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{ 
    actvieField = textField; 
if (actvieField.tag == 1) 
{ 
    //Do what you want 
} 

    return YES; 
} 
+0

Nichts davon hat etwas mit der Frage zu tun. – rmaddy

+0

fragte er nach Validierung und Aktivierung der Schaltfläche Senden. Ich habe das benutzt und es hat für mich funktioniert. @rmaddy – iDeveloper

+0

Ja, aber die Frage ist nicht, wie diese Aktionen ausgeführt werden. Das OP weiß bereits, wie man diese Dinge macht. Lies noch einmal die Frage. Es wird versucht, die Delegate-Methoden des Textfelds aufzurufen, wenn der Text des Textfelds direkt über Code festgelegt wird. – rmaddy

Verwandte Themen