2015-10-07 2 views
5

Я создаю базовую форму с различными полями. Я хотел бы использовать UIStackView для компоновки всех элементов управления. Как бы я сделал следующее, чтобы элементы управления были правильно выровнены? Правильно ли это делает UIStackView?UIStackView Form Layout

enter image description here

ответ

5

Вы можете определенно использовать StackViews для достижения этой цели.

Как вы упорядочиваете свои StackViews, зависит от того, как вы хотите управлять своим выравниванием.

Вот что я рекомендую:

  1. Поместите этикетки в одну вертикально stackview и
  2. Поместите текстовые поля в другом вертикально stackview
  3. Поместите два stackviews в горизонтально выровненной stackview

Скорее всего, вы захотите установить distribution для заполнения одинаково на двух меньших стеках, а затем установите spacing на b e одинаково для каждого меньшего стека. Наконец, вы можете установить интервал в представлении горизонтального стека, чтобы задать пространство между вашим текстом и текстовыми полями. (Эта заключительная часть - причина, по которой я бы их настраивал.)

+0

Я думаю, что полностью заполняет требования для моего вопроса. Что делать, если компоновка немного сложнее? Скажем, есть визуальная линия, разделяющая две строки. Что тогда? –

+0

Тогда у меня было бы два горизонтальных стека, содержащих ваш текст и текстовые поля, и один вертикальный стек, содержащий все элементы (stackview, seperator, stackview). Вы все равно можете добиться такого же эффекта, чуть менее изящного. Также, если он удовлетворяет вашему вопросу, не возражаете ли вы принять ответ? Ура! –

+0

Готово. Разделившись так, как вы управляете левым пространством, чтобы текстовые поля были выстроены правильно? –

6

Apple suggests создание горизонтальных представлений стека с каждой меткой и полем, а затем их размещение в вертикальном представлении стека.

Это имеет смысл в том случае, если вы позже измените один из элементов управления на другой элемент управления (например, кнопку всплывающего окна), вы можете выровнять метку и базовые линии управления.

Смежные вопросы