Код: Выделить всё
let mainView = UIView()
mainView.translatesAutoresizingMaskIntoConstraints = false
let stackView = UIStackView()
stackView.axis = .vertical
stackView.translatesAutoresizingMaskIntoConstraints = false
Код: Выделить всё
NSLayoutConstraint.activate([
mainView.topAnchor.constraint(equalTo: view.topAnchor),
mainView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
mainView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
stackView.topAnchor.constraint(equalTo: mainView.bottomAnchor),
stackView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
stackView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
stackView.bottomAnchor.constraint(equalTo: view.bottomAnchor)
])
Высота неоднозначна для uiview
Высота и вертикальное положение неоднозначны для uistackview
Но если Я добавляю UIButton в UIStackView, а затем устанавливаю его скрытым с помощью .isHidden = true, оба предупреждения исчезают, за исключением iOS10, где оба предупреждения остаются.
С предупреждениями отладчика или без них я получаю желаемый результат: если UIStackView пуст (или все подпредставления скрыты), UIView закрывает весь экран.
Что здесь происходит, почему одно скрытое представление не совпадает с пустым stackView и почему поведение отличается на iOS10? И последнее, но не менее важное: как я могу удовлетворить требования iOS10, не ставя под угрозу мой текущий макет, который, по-видимому, работает для всех устройств после iOS10?
Подробнее здесь: https://stackoverflow.com/questions/584 ... t-position
Мобильная версия