XCode Tips&Tricks #1 – UIAlertView

Dopo il grande successo avuto dal mio libro “Tutorial pratici per iPhone SDK” molti utenti mi hanno contattato via mail per chiedermi degli aiuti su alcuni aspetti dell’Objective-C e della programmazione per iPhone.

In questi brevi appuntamenti dell'”XCode Tips&Tricks” vi darò alcuni pezzi (solitamente molto brevi) di codice, che potranno tornarvi utili nelle vostre applicazioni. Se avete dei dubbi, oppure volete ricevere spegazione su un qualcosa che non vi è molto chiaro (che però non sia troppo complesso, altrimenti servirebbe un tutorial!), non esitate a contattarmi tramite i commenti oppure utilizzando l’apposito form!

Il primo ad avere l’onore di inaugurare questo appuntamento è Davide, che via email mi chiede come si faccia ad implementare dei pop-up. Eccolo accontentato!

Per creare un pop-up come questo:

Immagine 1

è sufficiente inserire questo codice, all’interno di un qualsiasi metodo:

	UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"Titolo del messaggio" message:@"Corpo del messaggio" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK",nil];
	[alert show];
	[alert release];

Semplice vero?

E se volessimo capire quale bottone ha premuto l’utente? In questo caso dovremmo implementare il protocollo UIAlertViewDelegate. Nella dichiarazione della classe, quindi, avremmo un’intestazione simile:

@interface provaViewController : UIViewController <UIAlertViewDelegate> {
	// ... definizione elementi
}

E poi ci basterà inserire il seguente metodo:

-(void)alertView:(UIAlertView*)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
	if (buttonIndex == 0){
		NSLog(@"premuto Cancel");
	}else{
		NSLog(@"premuto OK");
	}
}

che ci permetterà di capire quale bottone è stato premuto dall’utente.

Come vedete si tratta di un appuntamento veloce, ma che potrebbe risultare utile a molti di voi. Cosa ne pensate? Lo torvate utile? Fatemelo sapere nei commenti!

Ingegnere informatico e sviluppatore freelance, mi occupo da anni di sviluppo per iOS (ma non solo). Dal 2008 scrivo su questo piccolo blog (con qualche lunga pausa), in cui parlo di programmazione e di qualsiasi altra cosa che mi diverta.

12 comments On XCode Tips&Tricks #1 – UIAlertView

  • Bell’idea e anche molto utile!!! 🙂

  • Idea Brillante!
    Credo che piccoli pezzi di codice, con funzioni specifiche, da imparare e magari implementare nei propri progetti, sia davvero utile.

    Approposito… se invece di due i pulsanti fossero tre? 😀

  • Davvero una gran bella idea. Il fatto di estrapolare parti di codice dedicate rende molto indipendenti nell’imparare a programmare. Utilità = 10!!! Mitico Andrea!!!

  • grazie ragazzi, il mio obbiettivo è proprio fare in modo che queste rubriche piacciano e siano utili..

    @Fabio Ricci: per aggiungere altri bottoni basta richiamare il metodo addButtonWithTitle, ad esempio:
    [myAlertView addButtonWithTitle:@”CiaoCiao”];

  • Si moltissimo io mi sto basando sul tuo libro per creare tante cose e credimi questo nuovo servizio vuoi fare credimi sarà di grandissimo aiuto e molto molto utile

  • ciao bubi, potresti dirmi se è possibile e come si fa per cambiare il colore delle alertview che di default sono blu/azzurro
    grazie

  • Ciao e complimenti per l’idea…ma se io volessi aggiungere un tasto “informazioni” al UIAlertView che compare quando presso la x per eliminare le applicazioni??, vorrei in questa maniera aggiungere un piccola anteprima dell’applicazioni prima di decidere se eliminarla…charamente alla pressione del tasto informazioni dovrebbe aprirsi un alrto UIAlertView con l’anteprima..è possibile?…avrei bisogno di aiuto…

  • @Tavix: no, non è in alcun modo possibile modificare quel comportamento. Ovviamente parlo di iOS originale e non jailbreak.

  • @Andrea Busi:
    …Grazie per la risposta Andrea, lo avevo proprio immaginato….ma se volessi realizzarlo lo stesso? è comunque possibile??

  • @Tavix: beh, in qualche modo penso sia possibile, in fondo su Cydia esistono tweak che fanno qualsiasi cosa. Però non saprei proprio da dove iniziare..

Leave a Reply to Andrea Busi Cancel Reply

Your email address will not be published.

Site Footer