2015-02-18 12 views
11

Was genau sind die Unterschiede zwischen den UIControlEvents.EditingDidEnd und .EditingDidEndOnExit, und wie stehen sie zueinander in Beziehung?Unterschiede zwischen `.EditingDidEnd` und` .EditingDidEndOnExit`

Die documentation on UIControl ist ziemlich vage, und hat keine Informationen darüber, ob diese aus verschiedenen Gründen feuern, wenn man eine Obermenge der anderen ist, oder wenn sie funktionell gleichwertig sind.

Die Möglichkeit, ein Superset zu sein, ist besonders verwirrend, da die Benennung bedeutet, dass .EditingDidEndOnExit ein spezifisches Vorkommen von .EditingDidEnd ist, aber die Dokumentation scheint das Gegenteil zu implizieren.

Antwort

19

".EditingDidEnd" wird aufgerufen, wenn jemand außerhalb der Grenzen des Textfelds berührt, weil sie wahrscheinlich mit einem anderen Steuerelement oder Objekt interagieren.

"EditingDidEndOnExit" wird aufgerufen, wenn der Benutzer auf die Taste "return" in der Tastatur klickt (und Sie haben Recht, es ist nicht in der Dokumentation klar ... aber wenn Sie sich die UIControl.h Datei ansehen siehe einen Kommentar, der diesen Punkt widerspiegelt).

5

Vom UIControl Header:

UIControlEventEditingDidEnd  = 1 << 18, 
UIControlEventEditingDidEndOnExit = 1 << 19,  // 'return key' ending editing 

So ist, wenn der Schlüssel Rückkehr wurde gedrückt, die andere berührt außerhalb der Grenzen ist.

Verwandte Themen