Разрывы макета при переключении устройств - PullRequest
0 голосов
/ 25 августа 2018

Я должен признать, что я не большой поклонник Auto Layout.Но я думаю, что мне нужно использовать его из-за iPhone X.

В любом случае, у меня есть простой макет.У меня есть объект вида карты (MKMapView) и объект вида (UIView) розового цвета внизу.

У меня есть два требования к макету.(1) Верхняя часть вида карты должна придерживаться безопасной области.(2) Нижняя часть розового вида прилипает к суперпредставлению.

Сначала я выбираю iPhone X в качестве устройства макета.

Что касается вида карты, я выбираю безопасную область ивид карты и добавить выравнивание по верхним краям.Я также добавляю выравнивание по левому краю и выравнивание по правому краю.Таким образом, я получаю следующее.

enter image description here

Что касается розового вида снизу, я выбираю (супер) вид и розовый парень для добавления выравнивания по низукромки.Затем я добавляю выравнивание по верхнему, левому и правому краям.Кроме того, высота установлена ​​на 48 пунктов.Итак, я получаю следующее.

enter image description here

Теперь, если я переключу устройство макета на iPhone 8 Plus, макет будет удерживаться.Но если я переключусь с iPhone X на iPhone SE, он с треском сломается, как показано ниже.

enter image description here

Как сохранить макет независимо от устройства?Спасибо.

1 Ответ

0 голосов
/ 25 августа 2018

Я не могу полностью воспроизвести то, что показывают ваши скриншоты;в частности, я не могу получить вид верхнего уровня, чтобы иметь ограничение потомка «От нижнего пространства к нижнему виду».Я подозреваю, что у вас есть некоторые другие ограничения, которые вызывают конфликт.Я думаю, что было бы лучше начать заново на этом контроллере представления, чтобы убедиться, что вы случайно не добавили ограничения, которые не принадлежат.
Перетащите представление набора карт и представление в этот новый контроллер, переименуйте представление в "«Вид снизу» и добавьте новые ограничения в Вид карты следующим образом: enter image description here

Затем добавьте ограничения для вида снизу следующим образом: enter image description here

...