Gestire la navigazione

Slides:



Advertisements
Presentazioni simili
Usare le mappe. MapKit Per utilizzare le mappe all’interno di uno specifico VIewController, è sufficiente inserire al suo interno una view di tipo MKMapView.
Advertisements

Gestire la navigazione. Creare un’app multi Controller La quasi totalità delle app è suddivisa in più ViewControllers, ognuno con specifiche funzionalità.
Table View. Problemi ricorrenti Una situazione ricorrente è quella in cui il controller potrebbe avere un’altezza superiore a quella dello schermo. In.
Realtà aumentata Prof. M. Bracardi Come creare AURA per la realtà aumentata Di cosa abbiamo bisogno? 1) App Aurasma (fare il download, funziona su sistemi.
CORSO elementare su DATABASE Applicativo utilizzato OpenOffice 3.0.
Basi di OpenOffice Calc – 2009 A cura di: Di Cicco – Giannini - Periloso.
+ Common actions Nicolò Sordoni. + Azioni comuni Esistono una serie di azioni di uso comune, che vengono messe a disposizione dalla piattaforma tramite.
Table View. Problemi ricorrenti Una situazione ricorrente è quella in cui il controller potrebbe avere un’altezza superiore a quella dello schermo. In.
Introduzione al backend di Sharepoint
Cassetto Previdenziale per Liberi Professionisti iscritti alla Gestione Separata Manuale Utente.
Ereditarietà Uno dei principi della programmazione orientata agli oggetti (OOP) è il riuso Le classi dovrebbero essere progettate come componenti riutilizzabili.
Configurazione Router IR794- IG601
Corso per Webmaster base
IL SOFTWARE (FPwin 6.0).
“Vivere insieme” – Lezione6
Esercizio ODBC.
A cura dell’Ing. Buttolo Marco
“Vivere insieme” – Lezione6
“Vivere insieme” – Lezione4
I Collegamenti in WORD Guglielmo Grisolia.
Per informazioni: I PORTALI ELLY: INTRODUZIONE Per informazioni:
Esportare le proprie mappe da QGis
“Vivere insieme” – Lezione7
VISUAL BASIC.
Applicazione web basata su web service e web socket
Terza Lezione → Navigare nel file System → parte 2
Termini CINAHL/MeSH su EBSCOhost
Trasmettitori e ricevitori
Il Binding Nicolò Sordoni.
Le basi dati CINAHL Tutorial sulla ricerca semplice
Condividere dati di Excel tramite l'esportazione in un sito di SharePoint
Excel 1 - Introduzione.
“Vivere insieme” – Lezione3
IUManji Progetto di Interazione Uomo Macchina.
Quick Tip Tutorial Come accedere alle statistiche di EBSCOhost e di EBSCO Discovery Service attraverso EBSCOadmin help.ebsco.com.
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
Asynchronous JavaScript and XML
Operazioni pianificate
SAS® OnDemand for Academics SAS Studio
Ardis e il sistema qualità
POWER POINT Il programma, all'interno del pacchetto Office della Microsoft, è quello dedicato alla realizzazione di audiovisivi. Consente di creare documenti.
1.
Ecco tutte le informazioni Microsoft Notizie di SharePoint
realizzato dal prof.Conti Riccardo
Introduzione a PowerPoint
Access.
Consultare un corpus con AntConc
Inserire, eliminare effetti di transizione tra le diapositive.
Come personalizzare il sito Web online di Microsoft SharePoint
PowerPoint.
Come utilizzare questo modello:
Word.
PowerPoint.
Cassetto Previdenziale per Liberi Professionisti iscritti alla Gestione Separata Manuale Utente.
I fogli elettronici Microsoft Excel.
BLOGGALO.
Introduzione a PowerPoint
Roberto Pecchioli, Nicola Salotti, Massimiliano Sergenti
8. Altri oggetti JavaScript
OLIMPYAWIN software utilizzato per gestire le gare sportive scolastiche in piena autonomia per varie discipline. modulo di iscrizioni on-line che permette.
Piattaforma FPA per gli Obiettivi di Sviluppo Sostenibile
Unico 2009 – Esempi per la crisi
Portale Acquisti Alperia
A-to-Z Consente di Localizzare e Accedere a tutte le risorse della biblioteca: riviste online riviste cartacee riviste nelle banche dati in full text riviste.
Edmodo una piattaforma social learning nel cloud.
GUIDA ALL’UTILIZZO DELLE FUNZIONALITÀ DI PAGAMENTO
[Digitare il titolo del discorso convincente qui]
Gestione sito web Ruolo: Redattore.
Digitare qui i dettagli dell'evento
Full Text Finder, panoramica di Publication Finder
Transcript della presentazione:

Gestire la navigazione

Creare un’app multi Controller La quasi totalità delle app è suddivisa in più ViewControllers, ognuno con specifiche funzionalità L’utente deve poter navigare fra i vari controller secondo pattern ricorrenti e platform-specific: NavigationController : un ViewController finalizzato alla gestione della navigazione fra le varie schermate. ViewController modali : interruzione del flusso di controllo corrente per mostrare un differente controller. Generalmente usato per ottenere informazioni dall’utente.

NavigationController NavigationBar Tasto back NavigationItem Navigation controller Titolo della schermata precedente Titolo della schermata attuale Top ViewController

NavigationController La schermata precedente mostra alcune proprietà del Navigation Controller NavigationBar : mostrata nella parte superiore dello schermo, contiene il NavigationItem NavigationItem : presenta all’utente informazioni e pulsanti per eseguire specifiche azioni. Tasto back : se premuto riporta l’utente alla schermata precedente. Gestito direttamente dal sistema. RootController : è il controller principale, cioè quello correntemente mostrato all’utente.

NavigationController Il navigation controller gestisce tutti gli aspetti relativi alla navigazione, cioè: Stack dei ViewController : mantiene l’elenco di tutti i controllers mostrati precedentemente, per sapere a quale tornare in caso di pressione del tasto back. Layout della Navigation Bar (colore della barra, colore di titolo e bottoni). Animazioni e gesture

Usare il NavigationController La figura mostra come inserire il NavigationController nel nostro progetto: Selezionare il Root View Controller, cioè quello a partire dal quale useremo il Navigation. Selezionare Editor > Embed in > Navigation Controller Vedremo apparire magicamente un nuovo Controller nello Storyboard.

Configurare il NavigationController Selezionando il nuovo controller, abbiamo la possibilità di configurare alcuni aspetti: Indicare se la navigation bar e la toolbar (un’ulteriore barra che sarà mostrata in fondo alla schermata) devono essere mostrate. Indicare se, e con quali trigger, nascondere le barre.

Configurare la NavigationBar Selezionando la NavigationBar, possiamo configurare il suo aspetto grafico: Selezionare lo stile base Impostare il colore della barra Personalizzare il tasto back Personalizzare il testo relativo al titolo

self.NavigationController Proprietà posseduta da ogni istanza di UIViewController E’ nil se il controller non si trova all’interno di un navigation Espone i principali metodi per gestire la navigazione: pushViewController : naviga ad un nuovo controller popViewControllerAnimated : torna al controller precedente popToRootViewControllerAnimated : torna al primo controller presente nello stack setNavigationBarHidden : indica se mostrare o nascondere la barra di navigazione Tutti i metodi richiedono il valore animated, che indica se deve essere utilizzata o meno un’animazione

Creare un nuovo controller A lato è riportata la sequenza di operazioni per creare un nuovo controller: Selezionare File > New > File... Selezionare Cocoa Classe Inserire il nome del nuovo controller ed impostarlo come sottoclasse di UIViewController.

Creare un nuovo controller Una volta creato il file relativo tale controller, è necessario crearlo anche nello storyboard Trascinare nello storyboard un nuovo oggetto di tipo ViewController Indicare come classe, il file appena creato ed assegnare uno StoryboardID univoco

Mostrare il nuovo controller Per poter mostrare il nuovo controller, è necessario innanzitutto istanziarlo: Accedere allo Storyboard tramite la proprietà, del ViewController corrente, self.storyboard. Invocare il metodo storyboard?.instantiateViewControllerWithIdentifier, passando come parametro lo StoryboardID definito. Dato che il valore di ritorno è di tipo AnyObject, è necessario forzare il downcast tramite l’operatore as. A questo punto è sufficiente utilizzare i metodi del navigation controller per gestire la transizione.

Usare i Segues Oltre al meccanismo appena visto, iOS ci offre un’ulteriore possibilità per gestire la transizione fra due controllers: i segues. I segues possono essere considerati come dei trigger automatici, associati alla pressione di un determinato bottone, che aprono automaticamente un nuovo controller.

Usare i Segues Per inizializzare un nuovo segue dobbiamo associare al trigger il nuovo ViewController da mostrare. E’ inoltre necessario scegliere il tipo di segue. I più utilizzati sono show (utilizza il navigation controller) e present modally (mostra il nuovo controller in maniera modale).

Intercettare i segue Può capitare di aver la necessità di intercettare l’invocazione di un segue, principalmente per passare un parametro al nuovo controller. Sovrascrivere il metodo prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?). Si tratta di un metodo della classe UIViewController. Recuperare il controller di destinazione tramite la seguente istruzione: var controllerToShow : SecondViewController = segue.destinationViewController as! SecondViewController; Passare gli eventuali parametri al nuovo controller: controllerToShow.testo = "Segue!";

Button items Oltre al tasto back, è possibile aggiungere dei bottoni personalizzati alla barra. Inizializzare un nuovo UIBarButtonItem, passando come parametri al costruttore Titolo o immagine da visualizzare Stile del bottone Target e action : specificano quale metodo di quale oggetto dovrà gestire la pressione del tasto. Il primo è un oggetto, mentre il secondo richiede semplicemente il nome del metodo. Aggiungere il bottone al navigation item: self.navigationItem.setRightBarButtonItem(button, animated: false);

Controller modali Come accennato, in alcuni casi può risultare utile aprire dei ViewControllers modali. Generalmente usati per richiedere operazioni da parte dell’utente, che restituiscono un risultato (Ad esempio se l’utente deve selezionare la propria data di nascita). Istanziare il nuovo controller normalmente. Sul controller chiamante è necessario invocare il metodo presentViewController(controllerToShow, animated: true, completion: (()->void)?) Dopo aver completato l’esecuzione, è necessario invocare, sul controller modale, il metodo dismissViewControllerAnimated(Bool);