2015-02-18 26 views
11

Quali sono esattamente le differenze tra UIControlEvents.EditingDidEnd e .EditingDidEndOnExit e come si correlano tra loro?Differenze tra `.EditingDidEnd` e` .EditingDidEndOnExit`

Il documentation on UIControl è piuttosto vago e non ha informazioni sul fatto che questi accendi per ragioni diverse, se uno è un superset dell'altro, o se sono funzionalmente equivalenti.

La possibilità che uno sia un superset è particolarmente confuso, poiché la denominazione implica che .EditingDidEndOnExit è un'occorrenza specifica di .EditingDidEnd, ma la documentazione sembra implicare l'opposto.

risposta

19

".EditingDidEnd" viene chiamato quando qualcuno tocca oltre i limiti del campo di testo, perché è probabile che stia per interagire con altri controlli o oggetti.

"EditingDidEndOnExit" viene chiamato quando l'utente fa clic sulla chiave "return" nella tastiera (e hai ragione, non è chiaro nella documentazione ... ma se si guarda il file guarda un commento che riflette questo punto).

5

Dal intestazione UIControl:

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

Così uno è quando è stato premuto il tasto di ritorno, l'altro è di toccare al di fuori dei limiti.