Как заставить кнопки заполняться вертикально в NSStackView с фиксированной высотой

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

Показанный выше NSStackView имеет верхние/начальные/конечные ограничения, высоту, пропорциональную его суперпредставлению, и настроен на выравнивание по верхнему краю и равномерное заполнение. Я хочу, чтобы кнопки растягивались по вертикали, чтобы заполнить высоту их представления стека. Как я могу настроить это с помощью NSStackView? Или мне нужно добавить ограничения на кнопки?


person elce    schedule 22.12.2016    source источник
comment
Установить выравнивание = .fill   -  person Fogmeister    schedule 22.12.2016


Ответы (2)


Я решил свою проблему, установив ограничения сверху/снизу для кнопок в виде стека. Я не думаю, что есть способ настроить NSStackView, чтобы он делал то, что я хочу.

Таким образом, UIButton заполняет высоту UIStackView, если выравнивание UIStackView установлено на заполнение. NSStackView не имеет свойства заполнения для выравнивания и AFAIK, не может заставить NSButton делать то же самое

person elce    schedule 27.12.2016

Как вы уже заметили, использовать NSStackView невозможно. В нем отсутствует выравнивание заливки, доступное для UIStackView.

Однако в AppKit есть гораздо более мощный компонент пользовательского интерфейса:

NSGridView – https://developer.apple.com/documentation/appkit/nsgridview

Вы можете настроить выравнивание для каждой строки и столбца, включая режим «заливки».

person Darrarski    schedule 27.02.2019