2015-10-07 12 views
5

Sto creando un modulo di base con vari campi. Mi piacerebbe usare UIStackView per impaginare tutti i controlli. Come farei quanto segue in modo che i controlli siano allineati correttamente? Il UIStackView è il modo corretto per farlo?Layout modulo UIStackView

enter image description here

risposta

5

Si può sicuramente usare StackViews per raggiungere questo obiettivo.

Il modo in cui organizzare le visualizzazioni Stack dipende da come si desidera gestire il proprio allineamento.

Ecco cosa vi consiglio:

  1. Mettere le etichette in una stackview allineata verticalmente e
  2. Metti la tua campi di testo in un altro stackview allineata verticalmente
  3. Mettere le due stackviews in uno stackview allineate orizzontalmente

Probabilmente vorrai impostare il tuo distribution per riempire in modo uguale sui due riquadri più piccoli, quindi impostare spacing in b e lo stesso per ogni stackview più piccolo. Infine, sarai in grado di impostare la spaziatura nella vista della pila orizzontale per impostare lo spazio tra il testo e i campi di testo. (La parte finale è la ragione per cui li impostarei in questo modo.)

+0

Penso che soddisfi totalmente i requisiti della mia domanda. Cosa succede se il layout è un po 'più complesso? Diciamo che c'è una linea visiva che separa le due file. Cosa poi? –

+0

Avrei quindi due viste orizzontali dello stack contenenti testo e campi di testo, e una vista stack verticale contenente tutti gli elementi (stackview, seperator, stackview). È ancora possibile ottenere lo stesso effetto, solo leggermente meno elegante. Inoltre se soddisfa la tua domanda ti dispiace accettare la risposta? Saluti! –

+0

Fatto. Quando dividi in questo modo come controlli lo spazio sinistro in modo che i campi di testo siano allineati correttamente? –

6

Apple suggests creazione di viste di pila orizzontali con ogni etichetta e campo, e quindi metterle in una vista di pila verticale.

Questo ha senso nel senso che se in seguito si modifica uno dei controlli in un controllo diverso (ad esempio un pulsante popup), è possibile mantenere allineate le linee di base dell'etichetta e del controllo.

Problemi correlati