Corso interattivo di programmazione per iPhone: VII Lezione. Visualizzazione delle immagini

Continuiamo ora con il progetto Automobili.
Ecco l’ ultima versione del progetto (lo step 1): Automobili_01.zip

corsoiphoneitalia1

Nel primo step abbiamo un oggetto UITableView che elenca le automobili disponibili. Quello che facciamo oggi e` visualizzare un’immagine una volta selezionata l’ automobile.

Il controller che si occupa della lista e` CarListController, sviluppato nella lezione precedente.

Ora abbiamo bisogno di un controller per la visualizzazione dell’ immagine dell’ automobile selezionata. Questo controller lo chiamiamo CarImageController.

Scegliamo il template generico UIViewController subclass

picture-27

picture-33

Ora apriamo Interface Builder in modo che ci dia una mano a implementare la View per questo controller.

Aggiungiamo un nuovo oggetto View Controller

picture-17

Entriamo nell’ inspector per specificare la classe (Shift + Command + I)

picture-28

picture-34

Aggiungiamo una UIView in modo da creare una superficie d’appoggio.

picture-44

Ora aggiungiamo l’ oggetto UIImageView che ci permettera` di visualizzare le immagini.

picture-54

Ecco il risultato finale

picture-66

Aggiungiamo un IBOutlet UIViewImage al nostro controller CarImageController

picture-92

Ora diciamo a Interface Builder di collegare il nostro oggetto UIImageView all’ oggetto carImage del codice.

picture-81

Molto bene. Ora aggiungiamo un altro IBOutlet. L’ outlet che ci permettera` di collegare il controller CarListController al controller CarImageController.

picture-101

Ho inserito l’ outlet nell’ interfaccia CarListController. Prima pero` va importato l’ header dov’e` definita la classe CarImageController.

Torniamo ad Interface Builder e colleghiamo CarImageController a CarListController

test

picture-121

Delegate

Quando selezioniamo una linea della lista fornita dall’ oggetto UITableView il delegate viene avvisato. Dobbiamo quindi dire alla TableView qual’ e` il delegate da avvisare.

test1

Selezioniamo l’ opzione delegate.

picture-161

Ora diciamo a Interface Builder qual’ e` la view di CarListController

test2

Aggiungiamo le immagini che vogliamo visualizzare

picture-3-13-15-34

La ridimensiono in modo che stia dentro il rettangolo 320×480

Aggiungo le due immagini

– mito.jpg

– tt.jpg

picture-19

picture-35

Aggiungiamo la @property alla classe CarImageController in modo da poter accedere all’ oggetto carImage

picture-45

picture-55

Implementiamo il metodo

– (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;

Nella classe CarListController. Questo metodo viene chiamato quando la riga rappresentata dall’ oggetto indexPath e` stata selezionata.

picture-29

picture-102

Salvate, compilate ed avviate

picture-112

picture-122

Come noterete dopo la visualizzazione non e` possibile fare piu` nulla perche` la UIImageView copre la tabella. Nelle prossime lezioni vedremo come togliere l’ immagine e dare un’animazione all’ entrata dell’ immagine possibilmente con sfondo trasparente.

Ecco il link del progetto: Automobili_02.zip

NovitàAcquista il nuovo iPhone 16 su Amazon
Dev