У меня горизонтальный вид стека с 3 кнопками: Назад, Воспроизведение, Вперед для музыкального приложения.Вот мой текущий код:
self.controlStackView.axis = .horizontal
self.controlStackView.distribution = .equalSpacing
self.controlStackView.alignment = .center
self.controlStackView.spacing = 10.0
self.controlStackView.translatesAutoresizingMaskIntoConstraints = false
self.contentView.addSubview(self.controlStackView)
self.controlStackView.topAnchor.constraint(equalTo: self.artworkImageView.bottomAnchor, constant: 10.0).isActive = true
self.controlStackView.centerXAnchor.constraint(equalTo: self.contentView.centerXAnchor).isActive = true
Что это такое, он распределяет кнопку следующим образом (из центра из-за выравнивания):
[backward] - 10 spacing - [play] - 10 spacing - [forward]
Iможет увеличить расстояние, но оно все равно будет исправлено.Поэтому я устанавливаю ведущий и конечный якорь, чтобы определить максимальную ширину стека:
self.controlStackView.leadingAnchor.constraint(equalTo: self.leadingAnchor).isActive = true
self.controlStackView.trailingAnchor.constraint(equalTo: self.trailingAnchor).isActive = true
Что это делает с макетом:
[left edge backward] - lots of spaaaaaaace - [centered play] - lots of spaaaaaaace - [right edge forward]
Распределяется по всей ширине (и между центром слева и справа есть .equalSpacing).Но это тоже не полезно.По сути, моя цель состоит в том, чтобы иметь по-настоящему равный интервал, включая края.
Допустим, у меня есть доступная ширина 100, а мои 3 кнопки - 10, 20, 10 - это означает, что есть 60 оставшихся пустых мест.
Я бы хотел, чтобы это распределялось так:
space - [backward] - space - [play] - space [forward] - space
Таким образом, между моими кнопками по 4 пробела, каждый из которых равен 15, поэтому мы заполняем оставшиеся 60пространство.Конечно, я мог бы реализовать заполнение для представления стека, чтобы получить внешнее пространство, но это было бы довольно статично и не было бы равномерно распределено.
Кто-нибудь знает, могу ли я реализовать его таким образом, чтобы ребра были включены враспределение пространства?
спасибо