2012-01-03 15 views
11

Nella mia app per iPad, sto postando la notifica della tastiera che porterà il popover a una certa altezza sopra la tastiera. Funziona bene con la normale tastiera. Ma poi in iOS 5, se l'utente seleziona la tastiera divisa, il popover si comporterà in modo errato. Come posso sapere se l'utente ha selezionato la tastiera divisa, in modo da poter disporre l'altezza del popover in base alla tastiera presentata?Come sapere se la tastiera visualizzata è Split o normale?

+1

Risolto! Nessuna notifica verrà inviata quando la tastiera è divisa. –

+0

ciao ganesh, ho lo stesso problema con la tastiera. Sto organizzando la mia vista secondo se la tastiera è visibile o meno. Becaue della scheda chiave split anche quando apro la tastiera non ricevo notifiche. Come hai risolto questo? potresti per favore condividere me stesso? – CKT

+0

Ciao Chaithanya Kiran, Non hai bisogno di riorganizzare le viste quando la tastiera è divisa, perché la tastiera divisa appare ai lati e occupano molto meno spazio dello schermo, se si nasconde davvero, allora è una questione da pensare :( –

risposta

12

La cosa non è sovvertire questo. Niente di importante è cambiato. Se la tastiera si trova nella posizione agganciata nella parte inferiore dello schermo, verrà visualizzata una notifica "mostra". Se lascia la posizione ancorata nella parte inferiore dello schermo, riceverai una notifica "nascondi". Questo è esattamente ciò che accadeva prima di iOS 5.

L'unica differenza è che invece di lasciare la posizione ancorata perché si sta spostando fuori dallo schermo, potrebbe lasciare la posizione ancorata perché l'utente lo ha sganciato. Avrai comunque un "nascondiglio", quindi potrai spostare l'interfaccia nella sua posizione di base. Non è necessario sapere che la tastiera è ora sganciata (anche se puoi scoprire che non è fuori dallo schermo di UIKeyboardDidChangeFrameNotification se lo vuoi davvero). La ragione per cui non è necessario sapere è che quando la tastiera è sganciata/divisa, l'utente può essere proattivo e spostare la tastiera se è nel modo di qualcosa che deve essere visto.

Pertanto, tutto il vecchio codice precedente a iOS 5 continua a funzionare correttamente. È tutto davvero abbastanza intelligente.

+0

Ciao Ganesh, grazie per la risposta, ma ho un problema.quando la tastiera è visibile/nascosta sto sistemando la mia posizione UITextField sulla tastiera, ma in una situazione particolare come quando la tastiera è visibile ora ho spostato il mio campo di testo in alto, in questo caso se l'utente divide la tastiera e chiude la tastiera, il mio campo di testo è ancora in alto perché non ricevo la notifica di keyboardwillhide cosa fare in questa situazione? – CKT

+0

Ciao chaithanya kiran T, Quando l'utente passa dalla tastiera normale a Split, viene chiamata la notifica KeyboardWillHide. Qui puoi riorganizzare il frame per il TextField. –

+0

Ciao Ganesh, sei un rito, ma è fino a iOS 5.0. Ho aggiornato il mio iPAD a iOS 5.1 in cui quando abbiamo diviso la tastiera non chiama la notifica KeyboardWillHide.Apple ha reso più complicata la gestione delle chiavi divise :(:(:( – CKT

Problemi correlati