Articles

UIScrollView autolayout su uno storyboard. Una guida passo dopo passo.

  1. Iniziamo aggiungendo una UIScrollView alla vista principale (che potrebbe essere l’intera vista o qualche altra piccola vista che avete. In entrambi i casi, d’ora in poi mi riferirò a questa come ‘vista principale’) e aggiungiamo i vincoli superiore, inferiore, sinistro e destro.

Top, Bottom, Left and Right Constraints (regarding the main view)

2. Dopo di che, aggiungiamo una UIView dentro la UIScrollView (questa vista è un passo essenziale per far funzionare correttamente l’autolayout). L’ho chiamata ‘Content View’ e ho aggiunto i vincoli in alto, in basso, a sinistra e a destra rispetto alla vista di scorrimento. Oltre a questo, ho anche aggiunto altezze e larghezze uguali rispetto alla vista principale.

In alto, in basso, Left and Right Constraints (riguardo alla scrollview)

Equalsiasi larghezza e altezza (riguardo alla vista principale)

3. Il prossimo passo dipende se vuoi avere uno scorrimento verticale o orizzontale. Se hai bisogno di uno scorrimento verticale dovrai impostare la priorità di ‘Equal Heights Constraint’ a 250. D’altra parte, se quello che cerchi è uno scorrimento orizzontale dovrai impostare la priorità ‘Equal Widths Constraint’ a 250.

Permette uno scorrimento verticale.

Permette uno scorrimento orizzontale.

4. La vista di scorrimento è ora tutta impostata e pronta a partire! Ora puoi iniziare ad aggiungere il tuo contenuto, ma devi tenere a mente che l’altezza della ‘Vista Contenuto’ non può essere ambigua. Questo significa che ogni vista che hai avuto deve avere un vincolo di altezza definito (altezza uguale a X o inferiore o uguale a X) e che tutti i componenti (o almeno dovresti avere una linea continua di componenti dall’alto al basso) devono avere una spaziatura verticale definita tra di loro.

Inoltre, i componenti più in alto e più in basso devono avere una spaziatura superiore e una inferiore, rispettivamente, alla ‘Content View’.

5a) Vertical ScrollView – Esempio di configurazione dei componenti