Stackview внутри Другая проблема ширины стека - PullRequest
0 голосов
/ 14 мая 2018

У меня есть Stackview, созданный в IB, и он имеет вертикальную ориентацию.Это представление стека имеет ширину, равную родительскому виду.

Теперь я программно создал Stackview, например,

let stackViewHorizontal   = UIStackView()
    stackViewHorizontal.axis  = UILayoutConstraintAxis.horizontal
    stackViewHorizontal.distribution  = UIStackViewDistribution.fillEqually
    stackViewHorizontal.alignment = UIStackViewAlignment.leading
    stackViewHorizontal.spacing = 8
    stackViewHorizontal.translatesAutoresizingMaskIntoConstraints = false
    stackViewHorizontal.leadingAnchor.constraint(equalTo: mainStackView.leadingAnchor,constant:0)
    stackViewHorizontal.trailingAnchor.constraint(equalTo: mainStackView.trailingAnchor,constant:0)

Здесь mainStackView - это представление стека, созданное с помощью IB.Я ставлю UILabels внутри stackViewHorizontal.Я ожидал, что это расширится до полной длины, и каждый UiLabel будет занимать 50% ширины экрана, так как у stackview есть горизонтальная ось, а распределение заполнено равномерно.

Но у меня рядом UiLabels по горизонтали.но не на всю ширину экрана

Что я делаю не так, пожалуйста, сообщите?

1 Ответ

0 голосов
/ 14 мая 2018

Активируйте ограничения, также задайте ему высоту

stackViewHorizontal.leadingAnchor.constraint(equalTo: mainStackView.leadingAnchor,constant:0).isActive = true
stackViewHorizontal.trailingAnchor.constraint(equalTo: mainStackView.trailingAnchor,constant:0).isActive = true

ИЛИ

NSLayoutConstraint.activate([
   stackViewHorizontal.leadingAnchor.constraint(equalTo: mainStackView.leadingAnchor,constant:0), 
   stackViewHorizontal.trailingAnchor.constraint(equalTo: mainStackView.trailingAnchor,constant:0) 
])

//

let stackViewHorizontal   = UIStackView()
stackViewHorizontal.axis  = UILayoutConstraintAxis.horizontal
stackViewHorizontal.distribution  = UIStackViewDistribution.fillEqually
stackViewHorizontal.alignment = UIStackViewAlignment.leading
stackViewHorizontal.spacing = 8
self.view.addSuview(stackViewHorizontal) //// add it here 
stackViewHorizontal.translatesAutoresizingMaskIntoConstraints = false
stackViewHorizontal.leadingAnchor.constraint(equalTo: mainStackView.leadingAnchor,constant:0).isActive = true
stackViewHorizontal.trailingAnchor.constraint(equalTo: mainStackView.trailingAnchor,constant:0).isActive = true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...