2011-08-18 15 views
6

Sto tentando di mostrare un UITextField sulla tastiera iPad.Notifica per modifica altezza tastiera iPad

Sono stato in grado di ottenere l'altezza della tastiera quando è stata presentata la notifica.

Tuttavia, in iPad, cambiando l'input della lingua della tastiera -> più probabilmente giapponese, l'altezza della tastiera è cambiata perché è stata mostrata un'area di ipotesi di testo sulla parte superiore della tastiera, che ha reso il mio UITextfield nascosto da quell'area ....

Qualcuno sa come posso ottenere l'avviso di modifica dell'altezza o in altro modo?

+0

possibile duplicato di [Interfaccia di regolazione quando k eyboard appare per UITextField o UITextView] (http://stackoverflow.com/questions/402658/adjusting-interface-when-keyboard-appears-for-uitextfield-or-uitextview) – jtbandes

+1

Ho ridimensionato la mia vista ma il problema è che, in iPad, in base alla lingua della tastiera, l'altezza è cambiata. E sembra che non ci sia notifica quando l'altezza della tastiera viene cambiata come la tastiera è già visibile. – rae148

+0

Davvero? Pensavo che tutte le tastiere avessero la stessa altezza. – jtbandes

risposta

2

La risposta è che quando si cambia lingua, lo UIKeyboardDidShowNotification si attiva per ogni modifica, in modo da ottenere sempre l'altezza aggiornata.

See my answer here su come impostare le risposte alla visualizzazione e al nascondimento e ottenere l'altezza.

1

Swift

Il UIKeyboardDidShowNotification non sparerà più la modifica delle dimensioni della tastiera.

Uso UIKeyboardWillChangeFrameNotification invece:

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(instance.keyboardWillChange(_:)), name:UIKeyboardWillChangeFrameNotification, object: nil) 

alla funzione:

let targetSize = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.CGRectValue() 

Importante: questo evento verrà attivato anche quando la tastiera si aprirà e si nasconderà, può sostituire sia UIKeyboardWillShowNotification e UIKeyboardWillHideNotification se sono necessarie solo le dimensioni

Problemi correlati