Programmazione iPhone - Realizzare un programma che effettua uno Screenshot e salva l’immagine sul dispositivo.
Buongiorno a tutti, oggi vi spiegherò come realizzare un programma che effettua una screenshot e salva l’immagine sul nostro iPhone.
Apriamo Xcode e scegliamo naturalmente un “New Project”. Creiamolo di tipo “View-based Application”, poi “Choose” e salviamolo sul nostro mac con il nome “RedBaron85ScreenShot”.
Vi ritroverete a questo punto:

(cliccare sull'immagine per ingrandirla)
Andiamo sul file “RedBaron85ScreenShotViewController.h” e inseriamo la seguente action:
-(IBAction)scattaIstantanea;
Non dimentichiamoci del trattino (“-“) eh mi raccomando!

(cliccare sull'immagine per ingrandirla)
Il cuore del progetto è naturalmente sul file “RedBaron85ScreenShotViewController.m”.
Qui aggiungeremo l’action che effettua la Screenshot e un semplice alert che avvisa l’utente di tale azione.
Cominciamo con l’alert, si chiamerà “AvvisoScreenShot” e si scriverà così:
-(void)AvvisoScreenShot {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"www.RedBaron85.com" message:@"Screenshot salvato nelle immagini del tuo iPhone" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[alert release];
}
Possiamo personalizzare il titolo, il contenuto del messaggio e del pulsante dell’alert “initWithTitle” a nostro piacimento.
Il titolo nel nostro caso sarà naturalmente www.RedBaron85.com ,
il messaggio è quello che segue a “message:@” quindi :@"Screenshot salvato nelle immagini del tuo iPhone"
mentre il testo del pulsante è settato da “cancelButtonTitle” , nel nostro caso un semplice “OK”.
Adesso passiamo all’action “scattaIstantanea”, che sarà:
-(IBAction)scattaIstantanea {
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, self, nil, nil);
[self AvvisoScreenShot];
}
da notare come dico all’action di lanciare l’alert con “[self AvvisoScreenShot];”.
Inseriamoli così sul file:

(cliccare sull'immagine per ingrandirla)
Fatto questo salviamo tutto e effettuiamo un primo “Build”.
Importiamo adesso un’immagine sul nostro progetto.
Per farlo clicchiamo con il tasto “destro” sulla cartella “Resources” e selezioniamo su “Add” e poi dal menù seguente “Existing Files”. Cerchiamo un’immagine o un logo. Ad esempio quello di questo portale.

(cliccare sull'immagine per ingrandirla)
Spuntiamo il flag “Copy items into destination group’s folder” e poi su “Add”.

(cliccare sull'immagine per ingrandirla)
Ci ritroveremo il file dentro la cartella Resources e selezionandolo avremo un’anteprima.

(cliccare sull'immagine per ingrandirla)
Adesso andiamo a lavorare sull’interfaccia della nostra App. Naturalmente sarà molto semplice. Inseriremo un Testo, il Logo appena scaricato ed un pulsante.
Sempre da “Resources” clicchiamo due volte sul file “RedBaron85ScreenShotViewController.xib”
Vedremo questo:

(cliccare sull'immagine per ingrandirla)
Inseriamo l’immagine nell’app.
Da “Library” selezioniamo “Media”. Vi troveremo la nostra immagine, nel nostro caso il logo. Trasciniamolo dentro la nostra “View” e posizioniamolo a nostro piacimento.

(cliccare sull'immagine per ingrandirla)
Inseriamo il testo. Sempre da “Library” trasciniamo il Label (UILabel). Posizioniamolo e ridimensioniamolo sempre a nostro piacimento e cambiamo il testo di default cliccando due volte su di essa.

(cliccare sull'immagine per ingrandirla)
Adesso l’ultimo passo, inseriamo un pulsante e clicchiamo due volte su di esso per personalizzare il nome.

(cliccare sull'immagine per ingrandirla)
Colleghiamo l’action al pulsante:
selezioniamo “File’s Owner” e clicchiamo su “inspector” se non è già aperto.
Trasciniamo “scattainstantanea” sul pulsante appena creato e come nel precedente tutorial scegliamo “TouchUpInside”, il classico tocco col dito sul display.

(cliccare sull'immagine per ingrandirla)
Adesso cambiamo lo sfondo della nostra App.
Selezioniamo “View” dalla finestra di “RedBaron85ScreenShotViewController.xib” e clicchiamo sempre su “inspector”.
Comparirà una finestra, concentriamoci su “Background” e scegliamo un colore a nostro piacimento.
Ad esempio io ho scelto il nero.
Adesso cambiamo il colore del testo sul Label.
Clicchiamo sul testo presente nella “View” mantenendo sempre aperto l’inspector.

(cliccare sull'immagine per ingrandirla)
Qui possiamo personalizzare il font type e size del nostro label e ovviamente anche il colore. Impostiamolo in Bianco. Giocherelliamo un po’ con questi parametri e finito tutto salviamo e chiudiamo il file .xib.
Adesso siamo pronti pere un “Build&Run”.
Questa è la nostra app:

(cliccare sull'immagine per ingrandirla)
E se clicchiamo su ScreenShot! avremo l’alert:

(cliccare sull'immagine per ingrandirla)
Adesso andiamo a controllare tra le immagini del nostro iPhone….. ci sarà??

(cliccare sull'immagine per ingrandirla)
Eccoli!!!!
Alla prossima!!!!
|