Per la costante UIKeyboardFrameEndUserInfoKey
, nella documentazione di Apple si dice:Conversione UIKeyboardFrameEndUserInfoKey per visualizzare o Finestra Coordinate
Queste coordinate non tengono conto di eventuali rotazione fattori applicata al contenuto della finestra a causa di orientamento dell'interfaccia modifiche. Pertanto, potrebbe essere necessario convertire il rettangolo nelle coordinate della finestra (utilizzando convertRect: fromWindow: method) o per visualizzare le coordinate (utilizzando il metodo convertRect: fromView:) prima di utilizzarlo.
Quindi, se io uso [view1 convertRect:rect fromView:view2]
Cosa farei inserire i parametri di cui sopra per farlo convertire correttamente i valori di rotazione? es .:
view1 =? rect =? (la cornice della tastiera presumo) view2 =?
State provando alcune cose e ottenendo alcune cose divertenti.
Spero che la risposta qui sotto aiuta. Ho già usato 'convertRect', ma il codice qui sotto è più pulito, IMO. – memmons
Ovviamente non sono d'accordo con @Answerbot riguardo a cosa è "più pulito" :) A proposito il codice che mostro proviene dal mio libro, che potresti voler consultare su questo argomento: http://www.apeth.com/iOSBook/ ch23.html # _summoning_and_dismissing_the_keyboard – matt
@matt Roba buona. Ho letto uno dei tuoi libri e mi è piaciuto molto. Il motivo per cui ho smesso di usare l'uso di 'convertRect' è perché funziona davvero bene solo all'interno di un controller di visualizzazione in cui si ha un' myView' che rappresenta la vista più in alto. Se tuttavia stai ascoltando le notifiche da una sottoclasse di 'UITextField', la trasformazione usando self non è particolarmente utile. – memmons