Как исправить размер кнопки на iPhone X с помощью автоматического изменения размера - PullRequest
0 голосов
/ 25 апреля 2018

Заранее извиняюсь за вопрос, так как он не требует кодирования, только если это требуемое решение.

Я прохожу свой путь через ограничения и автоматически изменяю размер с помощью swift 4. У меня возникла одна небольшая проблема во время автоизменение размера без использования ограничений, так как это портит расположение и размер кнопок.Ниже показано, как складываются мои кнопки пользовательского интерфейса.

iPhone 8 Plus, iPhone 8, iPhone SE выглядят одинаково и кнопки выровнены идеально

enter image description here

iPhone X - изображение выглядит растянутым

enter image description here

iphone 4S - изображение выглядит сжатымвнутрь

enter image description here

Все, что я сделал, было для каждого автоустановки размера набора кнопок, как показано ниже

enter image description here

Есть ли способ заставить iPhone X поддерживать такие же пропорции изображения?

Спасибо

1 Ответ

0 голосов
/ 25 апреля 2018

Как указано в комментариях, вы должны использовать ограничения для достижения желаемого результата.Используя ограничения aspect-ratio и proportional, вы сможете соответствующим образом масштабировать кнопки.


РЕДАКТИРОВАТЬ

Существует множество способов сделать это сautolayout.Ниже я перечисляю каждый шаг, который я выполнил для достижения этого.

  1. Создайте представление, переименуйте его в contentView.Этот вид будет держать три кнопки.Отцентрируйте его по горизонтали и установите ограничение низ : enter image description here

Создайте ограничения height и width для contentView относительно его суперпредставления и измените их на пропорциональный : enter image description here
Создайте представление внутри contentView, переименуйте его в redView и измените его цвет фона на красный.Прикрепите его к top , left и right .Наконец, добавьте ограничение пропорциональной высоты (0,5), относящееся к contentView: enter image description here enter image description here
Создайте представление внутри contentView, переименуйте его в blueView и измените его цвет фона на синий.Прикрепите его к низу и справа .Кроме того, создайте ограничение верхнего пространства между этим видом и redView (значение 16): enter image description here

Там будет некоторая раскадровкаошибки, не волнуйтесь, мы исправим их в ближайшее время.


Создайте представление внутри contentView, переименуйте его в greenView и измените его цвет фона на зеленый.Аналогично blueView прикрепите его к низу и слева .Кроме того, добавьте ограничение конечного пробела между greenView и blueView (значение 32): enter image description here
Наконец, создайте равную высоту и равную ширину ограничения между greenView и blueView.enter image description here

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...