XCode Tips&Tricks #7 – Inserire una UITextFiel in una UIViewAlert

Solo qualche giorno fa vi avevamo spiegato come inserire più bottoni in una UIAlertView.

Subito dopo ho ricevuto via Twitter una richiesta da “Luigix95“, che mi chiedeva come inserire una UITextField all’interno di un UIViewAlert, in modo da permettere all’utente di inserire del testo (in pratica un comportamente simile a quello che avviene quando scaricate un’applicazione e AppStore vi richiede la password).

Ecco, quindi, il procedimento da seguire.

Nel file “.h” della vostra classe inserite la dichiarazione di una UITextField, eccovi un esempio:

Come vedete abbiamo definito una text field (riga 2). Ricordatevi, inoltre, di inserire i due delegati “UIAlertViewDelegate” e “UItextFieldDelegate”, che ci permetteranno di interagire con la UIAlertView e con la UITextField.

Nel file “.m” definiamo (dove vi serve) una UIAlertView, e inseriamo anche la text field appena definita:

Come potete vedere, alla riga 3 abbiamo istanziato una UITextField con delle dimensioni che possano stare nell’UIAlertView. Settiamo, poi, il delegato (riga 4, che vedremo fra poco a cosa servirà), il colore (riga 5) e la inseriamo poi nell’alert (riga 6).

Alla riga 8 definiamo una trasformazione, che sposterà verso l’alto la nostra UIAlertView, in modo che essa non venga coperta dalla tastiera che apparirà per scrivere nella text field.

Ci mancano solo due semplici metodi da inserire, due metodi appartenenti ai delegati che abbiamo definito nell’intestazione della classe. Eccoli:

Il primo metodo ci permette di capire il bottone che è stato premuto (nel nostro caso controlliamo che sia stato premuto “Ok”), e ricaviamo il testo inserito, stampandolo semplicemente nella console di debug.

Il secondo metodo, invece, lo avrete già visto più volte, e permette alla tastiera di chiudersi quando si clicca su “Return” (o “Done”) della tastiera.

Spero di avervi mostrato qualcosa che vi possa tornare utile, se avete richieste scrivetemi utilizzando questo form oppure direttamente su Twitter! Alla prossima!

Andrea Busi | @bubidevs

Laureato in Ingegneria Informatica, ho fondato nel 2008 questo piccolo blog, in cui racconto le mie esperienze e i miei pensieri sul mondo dell'informatica. Nella vita mi occupo di sviluppo software, e nel tempo libero continuo a coltivare la mia passione per il mondo iOS.

ommenti a “XCode Tips&Tricks #7 – Inserire una UITextFiel in una UIViewAlert

  1. Fabry ha detto:

    ottimo tutorial! solo una domanda! qual’è il parametro per settare la dimensione dell alert? Grazie 🙂

  2. Fabry ha detto:

    una soluzione che ho trovato, è aumentare a dismisura il campo messagge ma non è molto elegante XD

  3. Andrea Busi ha detto:

    @Fabry: ho cercato un po’ ma non ho trovato niente di buono.. forse bisogna utilizzare un frame personalizzato, ma non so di preciso come fare.. ho trovato, in compenso, un bell’esempio, che vedrai in un prossimo “XCode Tips&Tricks” 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*