Я пытаюсь использовать Autolayout (программно) для создания следующей сцены. Как видно на рисунке, высота кнопки не может быть больше 56 и меньше 44 при любом размере экрана. Верхнее представление содержимого имеет собственный размер, основанный на его внутреннем содержимом, но его верхний якорь должен иметь минимальное верхнее дополнение 8. Оно может быть больше 8. Отступ между кнопками и представлением содержимого строго 8 пунктов. а нижний отступ с нижним якорем - строгий 12. Единственное, с чем я могу поиграть, - это высота кнопки, чтобы настроить все содержимое на маленьком экране.
Попыток 1) Я попытался поместить все кнопки в представление стека и установил ограничение по высоте для каждого кнопок.
button.heightAnchor.constraint(lessThanOrEqualToConstant: 56).isActive = true
button.heightAnchor.constraint(greaterThanOrEqualToConstant: 44).isActive = true
, но высота кнопки никогда не увеличивается более чем на 44. Теперь она работает правильно, когда я устанавливаю верхнее ограничение между основным видом и видом сверху с строгим 8
contentView.topAnchor.constraint(equalTo: topAnchor, constant: 8).isActive = true
, а не
contentView.topAnchor.constraint(greaterThanOrEqualTo: topAnchor, constant: 8).isActive = true
Но это не будет работать с экранами большего размера, поскольку вид сверху должен быть ближе к кнопкам, чем вид сверху.
2) Когда Я не использую представление стека и устанавливаю ограничение высоты для каждой кнопки, независимо от того, какое устройство это когда-либо, оно никогда не увеличивается больше чем 44. Если я удалю ограничение больше чем 44, то размер кнопки уменьшится до 36. Я попытался установить приоритет на самое верхнее ограничение, чем 8, а также высоту ограничений кнопки, а также установить ограничение соотношения сторон между представлением содержимого и верхней кнопкой, а затем установить высоту всех остальных кнопок. t на верхнюю кнопку, но опять же, все просто застревает до 44.
Пожалуйста, посоветуйте или предложите какое-либо решение, как с этим справиться.