Подтвердить что ты не робот

Настройка высоты UIView внутри UIStackView Control

Я использую UIStackView в iOS 9 SDK. Высота стека - 44 точки. У меня есть UILabel и UIView внутри StackView, как показано ниже:

введите описание изображения здесь

Теперь я хочу сделать зеленый вид намного меньше, чем 44.. как 20. Как я могу это сделать?

UPDATE: без UIStackView я получаю ограничения на разрыв:

[GT.BubbleView:0x14536610]   (Names: '|':UITableViewCellContentView:0x14536fd0 )>",
    "<NSLayoutConstraint:0x146b7300 GT.BubbleView:0x14536610.trailing == UITableViewCellContentView:0x14536fd0.trailingMargin>",
    "<NSLayoutConstraint:0x146c4000 'UIView-Encapsulated-Layout-Width' H:[UITableViewCellContentView:0x14536fd0(286)]>"

)

4b9b3361

Ответ 1

Если вы пытаетесь достичь квадрата 20x20, как показано ниже:

введите описание изображения здесь

Затем вам нужно добавить еще один UIView в свой зеленый вид. Сделайте размер UIView 20x20pt. Затем измените фон малого представления на зеленый и увеличьте фон обзора, чтобы очистить.

При этом это решение не требует просмотра стека и, возможно, слишком усложняет ваш интерфейс. Я бы порекомендовал просто использовать автозапуск вместо этого.

Stackviews наиболее полезны, если

  • вы хотите компенсировать изменение ориентации устройства,
  • хотите собрать много вещей друг на друга,
  • хотите создать очень сложный макет со многими элементами, но шаблоны, которые вы можете повторить, или
  • просто хочу иметь возможность удалить элемент или добавить элемент с самой корректировкой размера.

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

Вне прототипа ячейки

Это поведение тривиально. Вы можете просто задать ограничения для своего вида: введите описание изображения здесь '

И затем установите ограничения на просмотр стека: введите описание изображения здесь

Надеюсь, это поможет, ура!

Ответ 2

  • Сначала вам нужно добавить UIStackView в cell введите описание изображения здесь

  • Вам нужно добавить ограничения на UIStackView введите описание изображения здесь

  • Отрегулируйте UIStackView введите описание изображения здесь

  • Перетащите & отпустите UILabel в свой UIStackView введите описание изображения здесь

  • Затем Drag & Drop UIView в ваш UIStackView введите описание изображения здесь

  • Добавьте green-UIView как subview в pink UIView введите описание изображения здесь

  • Теперь вы можете добавить пару ограничений на green-UIView введите описание изображения здесь введите описание изображения здесь

  • Теперь вы можете запускать приложение на симуляторе или устройстве введите описание изображения здесь введите описание изображения здесь

    Обратите внимание на, что я не добавил никаких ограничений для UILabel.

Ответ 3

Проблема ограничения прерывания можно легко устранить, установив приоритет ограничений ширины и высоты до 800 или выше.