Table View. Problemi ricorrenti Una situazione ricorrente è quella in cui il controller potrebbe avere un’altezza superiore a quella dello schermo. In.

Slides:



Advertisements
Presentazioni simili
Autoresizing e autolayout. Posizionare gli elementi All’interno dello storyboard, gli elementi possono essere posizionati trascinandoli nella posizione.
Advertisements

Gestire la navigazione. Creare un’app multi Controller La quasi totalità delle app è suddivisa in più ViewControllers, ognuno con specifiche funzionalità.
Controlli. ActionSheet e Alert Selezionare un’azione In molte situazioni è necessario fornire all’utente una scelta fra varie azioni disponibili. per.
OpenOffice.org Calc Corso di Formazione all'uso Dott. Alessandro Ronchi.
Giuditta Cantoni, 4 E S.I.A I DATABASE. Definizione databese In informatica, il termine database, banca dati o base di dati (a volte abbreviato con il.
CORSO elementare su DATABASE Applicativo utilizzato OpenOffice 3.0.
Basi di OpenOffice Calc – 2009 A cura di: Di Cicco – Giannini - Periloso.
A dvanced N etwork T echnologies Lab oratory Infrastrutture e Protocolli per Internet Laboratorio 5 Politecnico di Milano Stefano NapoliAlberto Pollastro.
+ 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.
Basi di dati - Fondamenti
LA CLASSIFICAZIONE DIMENSIONI DEL CONCETTO DI CLASSIFICAZIONE (Marradi, ) classificazione a: operazione intellettuale con cui l’estensione di.
Ereditarietà Uno dei principi della programmazione orientata agli oggetti (OOP) è il riuso Le classi dovrebbero essere progettate come componenti riutilizzabili.
Le operazioni relazionali
I commenti Tutti i linguaggi di programmazione e di markup prevedono la possibilità di inserire commenti nel codice I commenti non sono interpretati.
Presentazione widescreen
11. Lettura e Scrittura di file in Matlab
VISUAL BASIC.
GeoGebra QuizFaber Formazione tra pari
EasyGraph Dynamic web-based dashboard
Applicazione web basata su web service e web socket
Gestire la navigazione
Terza Lezione → Navigare nel file System → parte 2
Real-time 3D reconstruction using multiple depth cameras
IL CONCETTO DI ALGORITMO
Il Binding Nicolò Sordoni.
Condividere dati di Excel tramite l'esportazione in un sito di SharePoint
Sostenere lo sviluppo, guidare la crescita.
Excel 1 - Introduzione.
Organizzazione fisica
FORMULE E FUNZIONI SU EXCEL
L’input che abbiamo.
AsyncTasks.
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.
HTML 4.01 Quinta lezione 22 Marzo 2004 di Ivano Stranieri.
realizzato dal prof.Conti Riccardo
Rappresentazione dei Numeri
Corso Java Esercizi.
OBJECT ORIENTED DATABASE
Access.
Basi di dati - Fondamenti
INTRODUZIONE A EXCEL Il foglio elettronico o foglio di calcolo è una tabella che contiene parole e numeri che possono essere elaborati applicando formule.
Consultare un corpus con AntConc
Gestione Griglie nel Form Designer
HYPER TEXT MARK-UP LANGUAGE
PowerPoint.
ABAP Objects ALV Grid Mantova, 30 dicembre 2018.
Secondo Programma in C.
Word.
Titolo della presentazione
I fogli elettronici Microsoft Excel.
Introduzione a PowerPoint
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Progetto 1 Input Creare una Funzione commentata che prenda come input:
Layout titolo Sottotitolo.
Fogli elettronici e videoscrittura
Indicazioni: Usare queste diapositive e note per creare il progetto.
Excel 3 - le funzioni.
OLIMPYAWIN software utilizzato per gestire le gare sportive scolastiche in piena autonomia per varie discipline. modulo di iscrizioni on-line che permette.
APPUNTI SUL LINGUAGGIO C Allocazione dinamica della memoria
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Fogli di Calcolo Elettronici
Portale Acquisti Alperia
N O E MODELLO GITA S Come progettare una gita in base alla destinazione da condividere con altri studenti. Un modello con cui gli studenti possono.
Titolo della presentazione
Docente: Sabato Bufano
LA CLASSIFICAZIONE DIMENSIONI DEL CONCETTO DI CLASSIFICAZIONE (Marradi, ) classificazione a: operazione intellettuale con cui l’estensione di.
Transcript della presentazione:

Table View

Problemi ricorrenti Una situazione ricorrente è quella in cui il controller potrebbe avere un’altezza superiore a quella dello schermo. In questo caso è buona norma fornire all’utente la possibilità di scorrere verticalmente i contenuti: Elenchi potenzialmente infiniti (Es: contatti) Form di inserimento con numerosi campi di input Elementi contenenti testi descrittivi di dimensione variabile

Table View Il sistema ci offre un componente in grado di risolvere automaticamente tali problematiche: la TableView. Abilita/disabilita automaticamente lo scorrimento quando necessario (se l’altezza effettiva è inferiore a quella dello schermo la view non scorre). Gestisce i layout tramite una sequenza di celle (righe), che possono avere strutture totalmente differenti le une dalle altre. Può essere suddivisa in più sezioni, ciascuna con un eventuale header o footer. Dalla versione 8.0 è possibile utilizzare celle che adattano automaticamente la propria altezza in base al contenuto.

Table View Per definire il layout di una TableView abbiamo due alternative: Celle statiche : Il numero di sezioni e celle è fisso, così come le informazioni per ciascuna cella, quindi il layout sarà sempre lo stesso. Celle dinamiche : Non è noto a priori quante sezioni e quante celle per ciascuna sezione dovranno essere mostrate, così come le informazioni che conterranno.

Table View La TableView offre un gran numero di proprietà: Celle statiche o dinamiche Layout delle sezioni e del separatore delle celle. Numero di celle che possono essere selezionate Proprietà ereditate dalla ScrollView (ad esempio gli effetti di rimbalzo, ecc)

Celle statiche Per definire un layout statico per la TableView, è sufficiente applicare nello storyboard le seguenti impostazioni: Selezionare, nelle proprietà Content della TableView, il valore Static Cells. Selezionare il numero di sezioni e configurarle (Impostando header/footer) Configurare le singole celle. Gestire tramite delegate gli eventi di selezione

TableViewController Le celle statiche possono essere utilizzate solamente all’interno di un TableViewController. Si tratta di una speciale sottoclasse di ViewController: La root view è sempre una TableView Il controller è di default già impostato come Data Source e Delegate della TableView Estremamente vincolante e per tale motivo scarsamente usato nella pratica

TableView dinamiche : Data Source e Delegate Oltre ad un delegate per gestire gli eventi che vengono scatenati (es: selezione di una cella) è necessario definire anche un data source, cioè una sorgente dati in grado di definire quali informazioni visualizzare e come. Delegate : Delegate_Protocol/ Delegate : Delegate_Protocol/ Data Source : DataSource_Protocol/

TableView dinamiche : Data Source e Delegate Generalmente il ViewController contenente la TableView funge sia da DataSource che da Delegate. I principali metodi di cui fare l’override sono: numberOfSectionsInTableView(tableView) -> Int : restituisce il numero di sezioni in cui sono suddivise le celle tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int : deve restituire il numero di celle che compongono la sezione di indice [section].

TableView dinamiche : Data Source e Delegate tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell : restituisce la view relativa alla cella nella posizione corrispondente all’indexPath passato come parametro. L’index path è semplicemente la coppia indice sezione – indice cella. tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat : restituisce l’altezza della cella.

TableView dinamiche : Data Source e Delegate tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) : invocato quando l’utente fa tap sulla cella nella posizione specificata dall’indexPath.

IndexPath L’indexPath è un oggetto che rappresenta la posizione di una determinata cella nella TableView. Ha due proprietà principali: section : la sezione in cui si trova la cella row : la riga all’interno della sezione

Associare un layout ad una cella Per definire il layout che la cella di sezione X, riga Y dovrà avere, è necessario effettuare le seguenti operazioni: Creare una nuova classe che erediti da UITableViewCell Nello storyboard Aggiungere alla TableView una nuova TableViewCell Definire il layout della cella, aggiungendo e disponendo le varie view Assegnare alla cella un identificatore univoco (figura a lato) Assegnare la cella alla classe appena creata e creare gli eventuali outlets

Associare un layout ad una cella All’interno del metodo cellForRowAtIndexPath, è necessario recuperare il layout appena definito ed inserire le informazioni nelle rispettive view. Il metodo della TableView dequeueReusableCellWithIdentifier restituisce la cella associata all’id passato come parametro. Una volta ottenuto il riferimento a tale cella è possibile utilizzare gli outlet per mostrare le informazioni all’utente

Aggiungere un header alla sezione Ogni sezione può avere un intestazione (header) che fornisca all’utente indicazione del tipo di informazione contenuta. 2 metodi: tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? Restituisce il titolo della sezione. Sarà utilizzato il layout di default di iOS. tableView(tableView: UITableView, viewForHeaderInSection section: Int) - > UIView? Restituisce una view che funge da header. Consente di personalizzare completamente il layout. Può essere utilizzato in maniera analoga al metodo celForRowAtIndexPath. Oltre agli header è possibile aggiungere dei footer : i metodi per la gestione sono gli stessi.