Программная настройка высоты контейнеров в виде стека - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть два вида в вертикальном стеке. Я пытаюсь сделать гистограмму - вид снизу - это столбец, а вид сверху - прозрачный. Мне нужно было сделать так, чтобы для каждого бара на графике эти два вида меняли размер, чтобы можно было отобразить правильный бар.

У меня есть следующее ограничение в коде, чтобы попытаться достичь этого:

let heightConstraint = NSLayoutConstraint(item: topBars[0], attribute: 
NSLayoutConstraint.Attribute.height, relatedBy: 
NSLayoutConstraint.Relation.equal, toItem: bottomBars[0], attribute: NSLayoutConstraint.Attribute.height, multiplier: 2, constant: 0)
view.addConstraints([heightConstraint])

Мой вертикальный вид стека настроен для пропорционального заполнения.

Что я здесь не так делаю?

Ответы [ 2 ]

1 голос
/ 15 апреля 2019

Во-первых

Я бы рекомендовал использовать Графики iOS вместо того, чтобы заново изобретать колесо

Во-вторых

И если вам интересно, вы можете подробно увидеть, как они решили эту самую проблему, так как для меня представление в стеке не кажется хорошим вариантом

Но если вы используете UIStackView

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

view.isHidden = true 
0 голосов
/ 15 апреля 2019

enter image description here

Вам необходимо установить вертикальный набор стека для заполнения, а затем обычно установить высоту в форме множителя относительно вида (здесь высота 2-го вида устанавливается относительно1-й вид. И Вы можете скрыть вид внутри UIStackView, и он автоматически скрыт

view.isHidden = true
...