2014-09-18 8 views
5

Ho installato Tastiera Swift nei miei 5s telefono con iOS 8.Come ottenere le dimensioni della tastiera di terze parti in iOS 8?

Il metodo originale (Objective-C) per ottenere la dimensione della tastiera funziona solo con la tastiera del sistema, ad esempio:

- (void)keyboardWillShow:(NSNotification *)notification 
{ 
    CGSize keyboardSize = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; 
} 

Se uso Swift Keyboard ... keyboardSize.height è zero. Come ottenere le dimensioni della tastiera di terze parti in iOS 8?

Grazie.

+0

Hai mai trovare giusta soluzione per questo? La risposta qui sotto non funziona con il mio caso. Sto già usando 'UIKeyboardFrameEndUserInfoKey' per ottenere il KB rect. – Hemang

risposta

8

Penso che sia perché che stai ricevendo il formato prima che sia stata mostrata in realtà la tastiera.

provare a sostituire:

objectForKey:UIKeyboardFrameBeginUserInfoKey 

Con:

objectForKey:UIKeyboardFrameEndUserInfoKey 

Questo è il lavoro per me con SwiftKey!

+3

Questo corrisponde alla mia ricerca. Ho anche notato che SwiftKey ha inviato 3 eventi in mostra, con l'altezza finale impostata su 0, quindi l'altezza della tastiera, quindi l'altezza della tastiera + area di completamento automatico. Il mio codice non si aspettava 3 eventi UIKeyboardWillShowNotification in una riga con altezze diverse, quindi era necessario un po 'di regolazione. – w0mbat

+1

Questo non sta lavorando per me, sto già usando 'UIKeyboardFrameEndUserInfoKey' per ottenere rect della KB. Ogni altro modo? – Hemang

Problemi correlati