Risolvere il problema di cache della tastiera con UIResponder+KeyboardCache

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

Continua a leggere

Singleton in Swift

Uno dei pattern più utilizzati durante lo sviluppo è sicuramente il Singleton. Per chi non lo sapesse, la definizione di pattern Singleton è la seguente1:

Il singleton è un design pattern creazionale che ha lo scopo di garantire che di una determinata classe venga creata una e una sola istanza, e di fornire un punto di accesso globale a tale istanza.

Con un singleton, quindi, possiamo avere un’unica istanza di una determinata classe, che viene condivisa

Continua a leggere

Inseriamo una Toolbar sopra la tastiera, la proprietà “inputAccessoryView”

Lavorando ad un’applicazione ho avuto la necessità di inserire una toolbar appena sopra la tastiera di iOS, per permettere all’utente di terminare l’inserimento di testo in una UITextField (ma si può applicare senza problemi anche ad altri componenti).

Questo comportamento viene utilizzato anche da Apple stessa, che spesso sopra la tastiera inserisce una barra (una toolbar appunto) con dei pulsanti quali “Prec.”, “Succ.”. Eccovi un esempio di ciò nell’app Safari:

Continua a leggere

XCode Tips&Tricks #9 – Cambiare lo UserAgent delle UIWebView

Rieccoci per un nuovo tips&tricks dedicato alla programmazione per iPhone SDK. Oggi vedremo come cambiare l’user agent delle UIWebView.

Lo UserAgent è, nella sua accezione più usata ma forse meno precisa, è un parametro che ci fornisce delle indicazioni su chi (o che cosa) si è connesso ad un server web. Per farvi un esempio, ogni browser ha il suo UserAgent, così come ogni applicazione che accede ad un

Continua a leggere

Site Footer