• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

T#103 – Introduzione all’uso di Storyboard

By IgnazioC | on 1 Dicembre 2011 | 27 Comments
Senza categoria

t103-usare-storyboard-xcode-introduzione-00 Avrete ormai capito che l’accoppiata iOS 5 e Xcode 4.2 ha portato tantissime novità per noi programmatori iPhone e iPad. Alcune di queste comportano delle vere piccole rivoluzioni nel “vecchio” modo di programmare.
Mi riferisco soprattutto ad ARC (ne abbiamo parlato qui) e all’argomento oggetto di questo nuovo tutorial: Storyboard.

Ma cos’è Storyboard?

Storyboard è un nuovo modo introdotto da Apple per disegnare le interfacce grafiche dei nostri programmi iPhone e iPad, ma soprattutto per gestire la navigazione tra i vari viewcontroller.

Su tutti i forum dedicati ad iOS (anche sul nostro) le domande più ricorrenti riguardano proprio il passaggio tra una view e un’altra, dimostrazione che la logica dietro ai viewcontroller non viene facilmente compresa.

Storyboard si prefigge proprio questo scopo: fornire un modo semplice, grafico e per quanto sia possibile privo di codice, per navigare tra i viewcontroller che compongono la nostra applicazione.

Ma storyboard non è solo questo, perché ha introdotto tante altre novità nella gestione delle tableview e delle celle personalizzate (sembra che alla Apple leggano i forum per cercare i topic più frequenti!)

Il nostro progetto introduttivo a Storyboard

Oggi impareremo ad usare storyboard creando lo scheletro di una applicazione tipica, dotata di tabbarviewcontroller e di navigationcontroller, non entrerò nel dettaglio di tutte le funzioni, ma alla fine di questo articolo sarete in grado di utilizzarlo con successo nelle vostre applicazioni.

Benché questo sia un articolo introduttivo va considerato come un “aggiornamento” quindi ho dato per scontato che il lettore conosca già cos’è un viecontroller, come si crea una nuova classe su Xcode e come si popoli una tableview, se non avete chiari questi concetti date una lettura alle nostre precedenti guide e parliamone sul forum.

Apriamo Xcode ed iniziano con il nostro progetto. Per semplicità partiremo con un progetto per iPhone utilizzando il template “single view application”. Io ho chiamato il mio “devappStoryBoards”. Assicuriamoci che sia spuntata la voce “Use Storyboard” e “Use Automatic Retain Counter”.


t103-usare-storyboard-xcode-introduzione-01

Notiamo all’apertura del progetto che non sono presenti i classici file xib per il disegno dell’interfaccia, ma al suo posto è presente un unico file “Mainstoryboard.storyboard“, dentro questo file andremo a gestire sia la grafica dei singoli viewcontroller che la navigazione tra di essi.


t103-usare-storyboard-xcode-introduzione-02

Selezionando il file noteremo che è già presente un primo viewcontroller, o meglio una “scena”, come preferisce chiamarle Apple in questo caso. Una freccia entrante sulla sinistra indica che questa scena è la prima scena che verrà visualizzata. Tale opzione è modificabile attraverso l’opzione dell’inspector che vedete in questa immagine:


t103-usare-storyboard-xcode-introduzione-03

Possiamo gestire la grafica di questo viewcontroller come abbiamo sempre fatto, trascinando gli oggetti dalla libreria direttamente sulla scena desiderata.

ATTENZIONE: per poter trascinare gli oggetti è necessario che non sia attivo lo zoom, quindi, se non riuscite a rilasciare gli oggetti, fate semplicemente doppio click su un’area vuota per riportare tutto alle dimensioni normali.

Nell’esempio che vi sto mostrando ho trascinato un paio di controlli (fatelo anche voi fino ad ottenere l’effetto desiderato) quindi ho compilato il progetto ed ecco il risultato:


t103-usare-storyboard-xcode-introduzione-04

TabBarViewcontroller con Storyboard

Andiamo avanti con il nostro progetto, ci eravamo prefissati di creare un’applicazione con un tabBarViewController… quindi, ora che abbiamo preso un po’ la mano, cancelliamo il viewcontroller che abbiamo personalizzato poco fa e trasciniamo al centro dell’area di lavoro un tabBarViewController. Vi servirà uno schermo piuttosto grande per visualizzare tutto contemporaneamente. Appariranno infatti nello schermo tre scene: il tabBarController e due viewController generici collegati da una freccia.

Il significato è piuttosto intuitivo: il tabBarController è il “contenitore” e gli altri due viewController sono i “contenuti”. Questa relazione è identificabile dal simbolo che vedete in foto:


t103-usare-storyboard-xcode-introduzione-05

Personalizziamo a piacere i due viewcontroller e proviamo a compilare l’applicazione… Che ne dite? Abbiamo ottenuto un ottimo risultato senza aver scritto neanche una riga di codice.


t103-usare-storyboard-xcode-introduzione-06


t103-usare-storyboard-xcode-introduzione-07

Navigationcontroller e Storyboard

Passiamo ora ad aggiungere alla nostra applicazione un navigationController, lo scopo è quello di visualizzare in un terzo pulsante del tabBarController una tableView per visualizzare delle informazioni
Per farlo vedremo una nuova funzionalità: trasciniamo nell’area di lavoro un tableViewController e, una volta selezionato, selezioniamo dal menù “Edit->Embed in->Navigation controller” questo farà apparire nell’area di lavo un navigationcontroller già collegato al nostro tableviewcontroller:


t103-usare-storyboard-xcode-introduzione-08

Per far funzionare il tutto ci manca ancora un ultimo passaggio: collegare il navigation controller al tabBarController che abbiamo già creato. Anche in questo caso è tutto molto semplice infatti basterà cliccare con il tasto destro del mouse sul tabBarController, trascinare il puntatore sul navigationController e scegliere infine “relationship” nel menù che appare.

L’effetto finale è questo:


t103-usare-storyboard-xcode-introduzione-09

Se proviamo ad eseguire il nostro progetto vedremo che ora cliccando sul terzo tabItem apparirà la tableView con tanto di barra del navigationController.

Vi sarete accorti però che non abbiamo inserito né IBOutlet né IBAction e soprattutto che la tabella è vuota. Questo perché gli oggetti che abbiamo trascinato nell’area di lavoro sono dei controller generici, non sono i nostri viewcontroller.

Possiamo creare quindi i nostri viewcontroller tramite il menù “file->new->new file”. Nel nostro esempio ho creato un tableViewController:


t103-usare-storyboard-xcode-introduzione-10

Ed ho selezionato il tableViewController presente nell’area di lavoro modificando la sua proprietà Class come si vede in foto:


t103-usare-storyboard-xcode-introduzione-11

Share this story:
  • tweet

Tags: Mainstoryboard.storyboardnavigationControllerstoryboard XcodeTabBarViewcontrollerTutorial PraticiUsare storyboard XcodeviewController

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • T#106 – JSON e iOS 5: creiamo il client iPhone per il nostro web service PHP (Parte 2)

    19 Gennaio 2012 - 86 Comments
  • T#105 – JSON e iOS 5: creiamo il backend con JSON e PHP (Parte 1)

    16 Gennaio 2012 - 29 Comments
  • T#084 – Differenti tipi di View Controller per le nostre TabBar

    14 Febbraio 2011 - 30 Comments

Author Description

27 Responses to “T#103 – Introduzione all’uso di Storyboard”

  1. 1 Dicembre 2011

    ignazioc

    Sono l’autore dell’articolo…per qualsiasi domanda non esitate a scrivere sul forum.

  2. 1 Dicembre 2011

    JJSaccolo

    l’unica pecca, l’unica GROSSA pecca, è che funziona solo con iOS >= 5… e quindi bisognerebbe togliere tutta l’utente di iPhone 3G (e perché no, anche di iPhone EDGE)! Per cui aspetterò almeno un anno prima di iniziare ad usarlo

  3. 1 Dicembre 2011

    Antonio

    complimenti, articolo molto interessante. sono passato ad xcode 4.2 dopo aver usato per moltissimo tempo la versione 3.2.6. trovo lo storyboard uno strumento molto utile!

  4. 1 Dicembre 2011

    Luca


    ignazioc:

    Sono l’autore dell’articolo…per qualsiasi domanda non esitate a scrivere sul forum.

    Ti semplifica la vita nello sviluppo o no? io sinceramente ho provato ad utilizzarlo per la realizzazione di un progetto tipo drill down tableView, ma non è chemi sia trovato bene.. anche ses ad essere sincero non so se il problema era più che altro mio nel dover un po’ cambiare impostazione di lavoro..

  5. 1 Dicembre 2011

    Luca

    Spero di non aver sbagliato a chiedere direttamente nel commento!!!!!

  6. 1 Dicembre 2011

    Gabu

    Storyboard da molto l’idea di uno strumento che permette di fare il mock-up dell’app. sembra molto utile. ma io sapevo che si può usarlo soltanto nelle applicazioni openGL. non per altri template. giusto? anche perché avevo provato a fare un’app una specie di hallo world ma non riuscivo a trovare lo storyboard.

  7. 3 Dicembre 2011

    ignazioc

    non è solo per fare mockup e si può usare per tutti i tipi di app, non solo opengl. bisogna solo setterlo all’inizio.
    Personalmente lo trovo molto attraente anche se faccio molto via codice e poco da interface builder. penso che il prox progetto lo farò usando arc e storyboard.

  8. 4 Dicembre 2011

    habby

    Ciao e invece per collegare semplicemente un bottone ad un’altra view e dargli un animazione come si fa? Si deve usare sempre il vecchio metodo come con le XIB?

  9. 4 Dicembre 2011

    Davide

    è possibile scaricare questo mini progetto che avete creato nell’articolo?

  10. 6 Dicembre 2011

    Francesco

    x habby: per collegare un uibutton alla view successiva basta che ci clikki sopra con il tasto destro e trascini sulla view a cui vuoi collegarti, a questo punto scegli la modalità di visualizzazione della view nel menu a tendina.
    per il tipo di transizione la puoi scegliere successivamente tra le proprietà del “segues”

  11. 8 Dicembre 2011

    Byteros

    Spettacolo.

  12. 8 Dicembre 2011

    Ignazioc


    Byteros:

    Spettacolo.

    😀

  13. 29 Dicembre 2011

    Francesco

    Ragazzi ho una domanda! Allora io faccio tutto quanto, ma se volessi che alla pressione di un elemento di una tabella mi porti a una view dedicata? come faccio? perfavore potreste fare un tutorial?
    in pratica io ho una lista di oggetti e vorrei che alla pressione del primo mi porti alla sua view dedicata, al secondo idem.. ecc…
    Grazie!

  14. 4 Gennaio 2012

    Matteo

    )


    Francesco:

    Ragazzi ho una domanda! Allora io faccio tutto quanto, ma se volessi che alla pressione di un elemento di una tabella mi porti a una view dedicata? come faccio? perfavore potreste fare un tutorial?
    in pratica io ho una lista di oggetti e vorrei che alla pressione del primo mi porti alla sua view dedicata, al secondo idem.. ecc…
    Grazie!

    Interessa molto anche a me …

  15. 12 Gennaio 2012

    Giuseppe

    xMatteo e Francesco:
    Guarda non ricordo se i ragazzi del sito quando hanno trattato della TableViewController hanno parlato di questo, probabilmente si (consultate le prime guide), ad ogni modo quando inserite un TableViewCotroller, nei metodi presenti nel file vostroTableController.m esiste il metodo

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

    Che permette proprio di gestire la selezione di una voce inserita in una tabella. Alla selezione potreste decidere di far comparire un popover in cui caricare la view specifica per quella voce selezionata.

  16. 12 Gennaio 2012

    Ignazioc

    è in preparazione un tutorial che parla anche di questo. comunque se cerchi sul forum ne abbiamo parlato tanto

  17. 1 Febbraio 2012

    Giulio

    Ciao ho un problema.
    Ho aggiunto ad una delle due ViewController un UIButton che mi rimanda ad una nuova View.
    Il mio problema è che nel momento in cui viene visualizzata questa nuova View, la Tab Bar SCOMPARE.
    Come posso fare per tenerla SEMPRE, qualunque percorso faccia?

    Grazie.

  18. 6 Marzo 2012

    Luca

    Domanda sull’uso di sotyboard, spero che possiate aiutarmi… ho un alibreria che fa un subclasse del navigation controller (nimbus, della quale parlavo tempo fa sul forum), quindi nell’App delegate imposto solitamente il navigation controller dell’applicazione essere la sottoclasse creata.. come posso fare da storyboard? mi dice che il navigation controller è bloccato!

  19. 4 Aprile 2012

    Lucio

    Io per ora mi trovo benissimo, e sto iniziando proprio ora a programmare.
    direi che è un buon compromesso.
    Sto trovando fatica a creare una slideshow con lo storyboard, qualcuno sa darmi 2 dritte?
    grazie.

  20. 18 Ottobre 2012

    Renus

    Ragazzi, devo adattare un’app per l’iphone 5 ho scaricato xcode 4.5 ma non riesco ad adattare gli xib creati con dimensioni per l’iphone 4 in giù. Avevo letto che per interface builder l’adattamento avveniva con un determinato pulsante posto nell’interface builder, qualcuno sà aiutarmi per favore?
    Grazie

  21. 24 Ottobre 2012

    FrankyGia

    Complimenti Ignazio, sempre ottime guide, son o alcuni anni che nn mi diletto nella programmazione, sono un autodidatta, ho canto un applicano gratuita per un sito con il quale collaboro con un lettore rss, è giunto il momento di aggiornarlo, come dovrò comportarmi per Iphone 5? Vorrei che esso sia compatibile per tutti i decide che abbiamo da iOS 5 in su, usare lo storyboard in questo caso è possibile?

  22. 13 Novembre 2012

    Luca

    Scusate l’ignoranza ma non riesco a trovare la voce use storyboard nel mio xcoode 4.5.
    L’articolo parla di xcode 3.2, è stato eliminato o spostato?

    Grazie

  23. 13 Novembre 2012

    Luca


    Luca:

    Scusate l’ignoranza ma non riesco a trovare la voce use storyboard nel mio xcoode 4.5.
    L’articolo parla di xcode 3.2, è stato eliminato o spostato?
    Grazie

    perdonatemi l’ho trovato… creavo un progetto vuoto e non single view.

    pardon

  24. 8 Febbraio 2013

    Massimiliano

    Salve,
    io imposto il segue tra due viste.
    Come si fa a vincolare la scelta ?
    Del tipo se la variablie A = 1 allora vai alla vista nuova,
    altrimenti resta in questa.

    Saluti,
    Max

  25. 8 Febbraio 2013

    Massimiliano

    Salve,
    io imposto il segue tra due viste.
    Come si fa a vincolare la scelta ?
    Del tipo se la variablie A = 1 allora vai alla vista nuova,
    altrimenti resta in questa.

    Saluti,
    Max

  26. 15 Marzo 2013

    Donka

    Ciao, ho una vecchia applicazione che vorrei utilizzare con xcode 4.6, ma vedo che durante il building dell’app, la barra progressiva si ferma anche se a sinistra vedo che il build task sembra che lavori. Mi pare che il problema possa essere il vecchio xib (sull’ipad deployment info, non ho nessuno main storyboard visto che l’app è precedente), se provo a cliccare sul file xib a sinistra appare la sfera colorata di attesa e non accade nulla, il programma stalla. Può essere che vi sia qualche problema dovuto all’assenza dello storyboard, cosa accede normalmente con le vecchie app che ne sono sprovviste? Grazie dell’aiuto, spero di essere stato chiaro 🙂

  27. 28 Marzo 2013

    Filippo

    Io ho fatto tutto, ma nella lista Table view cosa dovrebbe esserci? Io non ci vedo niente. Nei due view controller ho messo due immagini.
    Grazie

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO