...

SlideControlli (1290512 byte)

by user

on
Category: Documents
22

views

Report

Comments

Transcript

SlideControlli (1290512 byte)
Controlli
Storyboard
Storyboard
 L’assistant editor consente una
visualizzazione contestuale in cui sono
affiancati verticalmente il ViewController
nello storyboard ed il relativo file di codice.
Storyboard
 Tale visualizzazione consente di creare in maniera rapida una proprietà nel codice
automaticamente associata al relativo componente grafico. Per farlo è sufficiente
l’utilizzo della shortcut CTRL + drag (trascinamento a partire dal controllo fino al
punto di codice desiderato per il posizionamento della property)
Controlli comuni
UILabel
 Mostra all’utente un’informazione
testuale
 Tramite storyboard è possibile
personalizzare testo, colore, font,
allineamento, numero di linee, ecc..
 É possibile impostare il testo come
Plain oppure Attributed. La seconda
modalità consente un maggior grado
di personalizzazione grafica.
UILabel - Attributed
 La proprietà Attributed consente di modificare colore, stile,
dimensione, ecc.. di sottoinsiemi di caratteri
UITextField
 Consente all’untente l’inserimento di
informazioni testuali
 Fortemente consigliato l’uso del
placeholder per indicare all’utente il
tipo di informazione richiesta
 Possiede una serie di proprietà che
permettono di personalizzare layout
e behaviour della tastiera
 La proprietà text consente di
recuperare da codice il valore
inserito
UITextFieldDelegate
 É possibile associare ad un TextField un delegate (generalmente
il ViewController che lo contiene) per intercettare gli eventi più
significativi
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextFieldDelegate_Protocol/
UITextFieldDelegate
 textFieldDidEndEditing: notifica che è stato completato
l’inserimento da parte dell’utente (solitamente coincide con
la perdita del focus da parte del controllo). Utile nel caso si
intenda effettuare una qualsiasi azione dopo il termine della
compilazione
 textFieldShouldReturn: Metodo che deve restituire un
valore booleano per indicare se deve essere gestita dal
componente la pressione del tasto “Return” della tastiera
(che costituisce l’azione standard di sistema per la chiusura
della stessa).
UIButton
 Componente utilizzato per consentire
all’utente l’esecuzione di determinate
azioni
 Il Type consente di indicare se si
intende personalizzarne il
comportamento oppure utilizzare
alcune tipologie di default del
sistema
 Selezionando Custom si ha la
possibilità di modificare le proprietà
di ciascun singolo stato: Default,
Highlighted, Focused, Selected e
Disabled
UIButton - Stati
 Default: stato base, l’utente non ha ancora effettuato
alcuna azione sul bottone
 Highlighted: L’utente sta premendo il bottone
 Disabled: Il bottone è disabilitato
 Focused: stato in cui il controllo è in possesso del
focus corrente, condizione generalmente non
attuabile per i Button
 Selected: Scarsamente utilizzata in riferimento ai
Button, indica se è stato contrassegnato come
selected, generalmente a livello di codice
UIImageView
 Utilizzata per la visualizzazione di
immagini all’interno dell’applicazione
 Indispensabile specificare l’immagine da
visualizzare (deve essere contenuta nel
progetto) e la proprietà Mode
 La proprietà Mode determina il
ridimensionamento dell’immagine in
funzione della dimensione del frame
della view
 Importante abilitare “Clib Subviews”
quelora si voglia evitare che l’immagine
fuoriesca dal frame
UISlider
 Consente la selezione di una valore all’interno di un
determinato range.
 La selezione viene effettuata trascinando tramite swipe
un apposito cursore
 L’azione più importante è “Value Changed”, che notifica
una modifica del valore selezionato
UISlider
 Il valore è sempre float
 E’ possibile configurare i
limiti ed i valore iniziale.
 La proprietà “Continuous
Updates” indica se gli
aggiornamenti devono
avvenire anche mentre
l’utente sta trascinando il
cursore
UISwitch
 Permette all’utente di specificare una condizione
booleana, quindi che può avere solamente 2 valori
 Il cambio di stato avviene al tap sul controllo o tramite
swipe del cursore
 L’azione più importante è “Value Changed”, che notifica
una modifica del valore selezionato
UISwitch
 E’ possibile scegliere se
all’avvio deve essere on o
off.
 I colori sono configurabili
(colore del cursore e dello
sfondo quando è on).
UIStepper
 Ha un valore di tipo Double, accessibile tramite la
proprietà value, che specifica il valore corrente.
 Graficamente è composto da due bottoni che
permettono di incrementare/decrementare tale valore
 L’azione più importante è “Value Changed”, che notifica
una modifica del valore selezionato
UIStepper
 Possibilità di configurare
valori minimo e massimo,
valore iniziale e incremento.
 Autorepeat: indica se
tenendo premuto il tasto
l’aggiornamento deve
continuare ad avvenire
 Wrap: Indica se, dopo aver
raggiunto la fine, il valore
deve tornare a quello
iniziale.
 Continuous: come per lo
slider
UISegmentedControl
 Permette di selezionare un valore da un elenco
 E’ possibile scegliere un numero infinito di segmenti
(anche se sconsigliato)
 L’azione più importante è “Value Changed”, che notifica
una modifica del valore selezionato
UISegmentedControl
 Numero di segmenti
configurabile
 E’ possibile configurare i
singoli segmenti,
specificando il
testo/immagine da
mostrare per ciascuno.
 Alcuni segmenti possono
essere inizialmente
disabilitati ed è possibile
specificarne uno come
selezionato.
ActionSheet e Alert
Alert - ActionSheet
Selezionare un’azione
 In molte situazioni è necessario fornire all’utente una
scelta fra varie azioni disponibili.
 per gestire tali casi il sistema ci mette a disposizione
due componenti : UIActionSheet e UIActionController
 UIActionSheet è stato lo standard per le versioni
precedenti la 8.0. Ora è considerato deprecato ma
comunque funzionante.
 UIActionController è il nuovo componente consigliato
da Apple.
UIActionSheet
Per utilizzare un’ActionSheet è necessario creare una
nuova istanza e valorizzare le seguenti proprietà:
 title: serve per fornire un’indicazione all’utente
 delegate: indica quale componente dovrà rispondere
agli eventi che saranno scatenati
 cancelButtonIndex: l’indice dell’eventuale bottone di
annullamento
Inoltre il metodo addButtonWithTitle, ci offre la possibilità
di aggiungere i vari bottoni
UIActionSheetDelegate
Il delegate responsabile degli eventi scatenati da
un’ActionSheet è l’UIActionSheetDelegate.
https://developer.apple.com/library/prerelease/ios/documentatio
n/UIKit/Reference/UIModalViewDelegate_Protocol/index.html
Fra i vari metodi, il più importante è sicuramente
- actionSheet:clickedButtonAtIndex:
che ci permette di gestire la selezione di un’azione da parte
dell’utente.
Dopo aver definito tutte le proprietà, è sufficiente invocare il
metodo dell’actionSheet showInView, passando come
parametro la view in cui si vuole mostrarla.
UIAlertController
Si tratta di un vero e proprio ViewController, utilizzabile
per gestire varie situazioni, fra cui, come detto, la
selezione.
Il costruttore ci permette di indicare title, messagge e
preferredStyle. I primi due parametri sono intuitivi: il terzo
(di tipo UIAlertControllerStyle) ci permette di specificare
come desideriamo che venga visualizzato il controller. Nel
caso in questione è necessario impostare il valore
.ActionSheet.
Questo componente non necessita di delegate, dato che
le azioni sono associate direttamente ai singoli bottoni.
UIAlertAction
Ogni bottone da aggiungere all’UIAlertController è di tipo
UIAlertAction. Le proprietà richieste dal costruttore sono:
 title: la stringa mostrata all’utente
 style: definisce come deve essere mostrato il bottone.
E’ di tipo UIAlertActionStyle ed i possibili valori sono:
 Default: per azioni standard
 Cancel: per l’azione di annullamento
 Destructive: per azioni che comportano cancellazioni
UIAlertView
Anche questo componente è stato deprecato in favore
dell’UIAlertController. Il suo compito è quello di mostrare
un Alert, generalmente per i seguenti motivi:
 Informare l’utente del verificarsi di un determinato
evento o dell’esito di un’operazione.
 Richiedere conferma prima di effettuare un’operazione
che non potrà essere annullata (Es: cancellare dei dati
dalla memoria)
UIAlertView
Anche questo componente è stato deprecato in favore
dell’UIAlertController. Il suo compito è quello di mostrare
un Alert, generalmente per i seguenti motivi:
 Informare l’utente del verificarsi di un determinato
evento o dell’esito di un’operazione.
 Richiedere conferma prima di effettuare un’operazione
che non potrà essere annullata (Es: cancellare dei dati
dalla memoria)
UIAlertView
Per creare un nuovo Alert view è sufficiente utilizzare il suo
costruttore con i seguenti parametri:
 title, message : titolo e messaggio mostrati all’utente
 delegate: delegato invocato nel momento in cui l’utente preme
un bottone
 cancelButtonTitle: stringa associata al bottone di annullamento
dell’operazione
 otherButtonTitles: stringhe associate agli eventuali altri bottoni
Per mostrarlo all’utente è sufficiente invocare il metodo show()
UIAlertViewDelegate
Per gestire un UIAlertView è necessario definire un oggetto
di tipo UIAlertViewDelegate
https://developer.apple.com/library/prerelease/ios/documenta
tion/UIKit/Reference/UIAlertViewDelegate_Protocol/index.ht
ml
Anche in questo caso il callback di maggior interesse è
- alertView:clickedButtonAtIndex:
che indica la posizione del bottone premuto.
UIAlertController come
UIAlertView
Per utilizzare un
UIAlertController per mostrare
degli alert, è sufficiente
impostare, nel costruttore, la
proprietà preferredStyle al
valore
UIAlertControllerStyle.Alert.
Il resto è analogo a quanto
visto in precedenza
Fly UP