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
Gestire la navigazione. Creare un’app multi Controller La quasi totalità delle app è suddivisa in più ViewControllers, ognuno con specifiche funzionalità.
Advertisements

Table View. Problemi ricorrenti Una situazione ricorrente è quella in cui il controller potrebbe avere un’altezza superiore a quella dello schermo. In.
OpenOffice.org Calc Corso di Formazione all'uso Dott. Alessandro Ronchi.
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.
Basi di dati - Fondamenti
Cassetto Previdenziale per Liberi Professionisti iscritti alla Gestione Separata Manuale Utente.
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.
PORTALE SIDOCPORTAL TALENTURE SA.
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
<Nome del gruppo di lavoro>
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 Binding Nicolò Sordoni.
AlmaEsami Demo Appelli e Prenotazioni – Versione 01
Sostenere lo sviluppo, guidare la crescita.
Excel 1 - Introduzione.
Organizzazione fisica
Workflow creazione account
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
EXCEL-lere nel business
Rappresentazione dei Numeri
Corso Java Esercizi.
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.
BootCaT: Bootstrapping Corpora and Terminology
Word.
Titolo della presentazione
Cassetto Previdenziale per Liberi Professionisti iscritti alla Gestione Separata Manuale Utente.
I fogli elettronici Microsoft Excel.
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
Unità 1 Programmi base.
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.
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.
Titolo della presentazione
Docente: Sabato Bufano
LA CLASSIFICAZIONE DIMENSIONI DEL CONCETTO DI CLASSIFICAZIONE (Marradi, ) classificazione a: operazione intellettuale con cui l’estensione di.
Inserimento Curriculum
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 ll’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)

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, posizione 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.

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