C’è un fastidioso bug in iOS che causa un ritardo piuttosto significativo tra la prima volta che la tastiera viene richiesta e quando questa appare effettivamente su schermo. Il problema si presenta solo al primo avvio della tastiera, che viene poi mantenuta in cache dal sistema.
Per risolvere questo problema, ho rilasciato su GitHub creato un’estensione in Swift, che permette di forzare la procedura di cache della tastiera (la category originale in ObjectiveC è invece disponibile in questa repository).
L’utilizzo è molto semplice:
UIResponder.cacheKeyboard()
L’ideale è richiamare la funzione durante un’operazione già in corso, ad esempio durante una connessione ad un server remoto, in modo da minimizzare l’attesa dell’utente.
Se avete avuto lo stesso problema o avete soluzioni alternative fatemelo sapere 🙂