У меня есть stackView с блоками UiViews внутри, как вы можете видеть на картинке. Я хотел бы установить максимальную высоту 50 или меньше для ящиков внутри, поскольку они выглядят слишком большими прямо сейчас, но я также хотел бы сохранить соотношение 1: 1, чтобы они были квадратными. Я пытался установить ограничение высоты для stackView, но когда я это делаю, соотношение сторон 1: 1 игнорируется.
Вот как это выглядит сейчас:
![enter image description here](https://i.stack.imgur.com/JZkUN.png)
И вот код:
let stackview = UIStackView(arrangedSubviews: letterBoxes)
stackview.axis = .horizontal
stackview.spacing = 5
stackview.distribution = .fillEqually
stackview.translatesAutoresizingMaskIntoConstraints = false
self.view.addSubview(stackview)
NSLayoutConstraint.activate([
stackview.topAnchor.constraint(equalTo: secondLine.bottomAnchor, constant: c/2 +
20),
stackview.centerXAnchor.constraint(equalTo: self.view.centerXAnchor),
stackview.leadingAnchor.constraint(equalTo: self.view.leadingAnchor, constant: 10)
])
for box in letterBoxes{
box.aspectRation(1.0/1.0).isActive = true
}
Редактировать: Я хочу, чтобы окно автоматически изменяло размер и не переполнялось, как показано ниже (каждый раз, когда количество ящиков различно. поэтому, например, когда есть только 3 ящика, я хочу, чтобы максимальный размер был 50, но когда число 6 или больше, я хочу, чтобы оно автоматически меняло размеры, чтобы оно соответствовало экрану и не переполняется. Как только я снимаю ведущее ограничение, оно переполняется): ![enter image description here](https://i.stack.imgur.com/lwiy1.png)