Ultime Notizie

Autolayout


L'autolayout e' stato introdotto in iOS 6 e successivamente migliorato con le successive versioni di iOS / Xcode ; oggi la tecnologia di fatto e' molto matura ed e' auspicabile effettuare la migrazione dei vostri progetti su questa tecnologia, se non l'avevate ancora fatto.


Per implementare l'autolayout, dovrete andare a selezionare lo storyboard da xcode ed abilitare il flag "Use Auto Layout".

Tipicamente, invece di definire il frame della view ed alcuni parametri per definire come si comporta in caso di ridimensionamento della rispettiva superview, potete dare una serie di vincoli in relazione alla superview ma anche ad altri controlli della view.

Se state effettuando il porting per implementare auto layout, tipicamente ogni controllo potrà in prima battuta essere implementato con 4 vincoli: Leading Space from container, Top Space from container ( per inserirli, premete il tasto control e quindi trascinate il controllo sull'altro controllo con cui stabulire il vincolo ), e quindi larghezza ed altezza ( per questi due, potete andare nel menu editor -> pin , dove perarltro potrete inserire anche i vincoli precedenti se la cosa vi risulta piu' comoda ); con questi 4 vincoli la dimensione e' perfettamente definita ( nota: se i i vincoli non sono suffienti oppure se avete inserito troppi vincoli impossibili da soddisfare, xcode ve lo segnala e vi mette a disposizione semplici strumenti per sistemare il problema ).

Se volete ancorare il controllo ad un altro spigolo, potete inserire in alternativa un bottom space to superview o un traling space to superview , o se volete un controllo centrato avete anche la possibilita' di indicare questa possibilita' in alternativa allo spazio da inizio o fine della superview.

Invece della larghezza om altezza, potete anche inserire un vincolo ad entrambi i lati del dispositivo ( in questo caso il controllo modifichera' le sue dimensioni per soddissfarli entrambi ); e la posizione potete definirla anche in relazione ad un'altra vista ( utile per le label associate ad un altro controllo di input ).