В настоящее время я работаю с вертикальной UIStackView
, в которой каждый вид имеет UILabel
для отображения слева и UIButton
для отображения справа.Ведущее ограничение для метки должно отличаться от конечного ограничения для кнопки, и весь вид должен занимать ширину экрана.alignment
для стека - fill
, а распределение - fillEqually
.
Проблема, с которой я сталкиваюсь, заключается в том, что AutoКомпоновка, похоже, не соответствует конечному ограничению, которое я пытаюсь установить для кнопки на fill
выравнивании (или любом другом выравнивании, в этом отношении).Независимо от того, что я положил для него, система устанавливает его на 20
.Я пробовал выравнивания center
, leading
и trailing
, но они не работают для того, что я пытаюсь сделать.Можно ли получить степень управления горизонтальной компоновкой, которую я хотел бы иметь с вертикальным стековым обзором?
Мои ограничения (radioButton
константа конечного ограничения установлена на 0
):
private func sharedInitialization() {
translatesAutoresizingMaskIntoConstraints = false
textLabel.translatesAutoresizingMaskIntoConstraints = false
radioButton.translatesAutoresizingMaskIntoConstraints = false
addSubview(textLabel)
addSubview(radioButton)
NSLayoutConstraint.activate([
radioButton.widthAnchor.constraint(equalToConstant: 30),
radioButton.heightAnchor.constraint(equalToConstant: 30),
radioButton.trailingAnchor.constraint(equalTo: trailingAnchor, constant: 0),
radioButton.centerYAnchor.constraint(equalTo: centerYAnchor),
textLabel.trailingAnchor.constraint(equalTo: radioButton.leadingAnchor, constant: -10),
textLabel.topAnchor.constraint(equalTo: topAnchor, constant: 22),
textLabel.leadingAnchor.constraint(equalTo: leadingAnchor, constant: 10),
bottomAnchor.constraint(equalTo: textLabel.bottomAnchor, constant: 22)])
}
Визуальный отладчик:
Я смотрел на Запретить вертикальному UIStackView растягивать подпредставление? , но это не совсем подходит для моей ситуации,Заранее спасибо за любую помощь!