Suchen bar delegieren - Differenz zwischen searchBarShouldBeginEditing / searchBarTextDidBeginEditing?

StackOverflow https://stackoverflow.com/questions/1759404

Frage

Was ist der Unterschied zwischen ihnen? In meinem Experiment scheinen sie während der gleichen Aktion aufgerufen werden - sobald der Benutzer die Suchleiste tippt auf der Tastatur zu bringen. Dies ist trotz des Benutzer noch nicht die Bearbeitung des eigentlichen Textes mit. Welche scheint SearchBar zu nennen: textDidChange. Aber das wird für jede Änderung aufgerufen, nicht nur einmal am Anfang. Was bedeutet, ich muss mehr Code schreiben zu duplizieren, wie die Suchleiste verhält sich in Google Maps.

OK, so dass drehte mehr in Entlüftung - aber vielleicht bin ich etwas fehlt. Gibt es Fälle, in denen searchBarShouldBeginEditing genannt wird, aber nicht searchBarTextDidBeginEditing - oder umgekehrt

?
War es hilfreich?

Lösung

Jede Meldung mit „sollte“ im Namen wird erwartet, dass eine boolean zurückzukehren. Wenn das falsch ist, dann, in diesem Fall der Bearbeitung noch nicht begonnen, und die Suchleiste nicht becomeFirstResponder (dh der Benutzer Hähne auf, aber keine Tastatur erscheint für die Bearbeitung).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top