Как избежать обрезки изображения на iPhone X

Я включил «Использовать руководства по макету безопасной зоны» в раскадровке для поддержки интерфейса iPhone X. У меня есть несколько UIButtons вверху, которые обрезаются в портретном режиме. Что мне нужно сделать, чтобы избежать обрезки?

У меня есть ограничение автомакета, установленное как button.Top = superview.Top. Как изменить ограничение в раскадровке, чтобы кнопка спускалась в безопасную зону?

Кнопка является подвидом контейнера UIView, который является полноэкранным на iPhone X.


person Deepak Sharma    schedule 23.10.2017    source источник


Ответы (1)


Измените ограничение с button.Top = superview.Top на button.Top = Safe Area.Top.

В раскадровке выберите свое ограничение и используйте раскрывающийся список, чтобы выбрать «Безопасная область».

раскадровка xcode устанавливает ограничение безопасной области

person nathangitter    schedule 23.10.2017
comment
Я не вижу параметр «Безопасная зона», поскольку кнопка является частью другого UIView, а не безопасной зоны. - person Deepak Sharma; 23.10.2017
comment
В этом случае вместо этого измените ограничение контейнера UIView. - person nathangitter; 23.10.2017
comment
Почему? Я хочу, чтобы контейнер UIView был полноэкранным. - person Deepak Sharma; 23.10.2017
comment
@DeepakSharma Вам, вероятно, потребуется отредактировать свой вопрос, указав дополнительную информацию. В зависимости от ситуации вам может потребоваться реорганизовать иерархию представлений, чтобы получить желаемое поведение. Если вы опубликуете детали вашего текущего макета, я могу попытаться дать некоторые предложения. - person nathangitter; 23.10.2017
comment
Нет причин рефакторить представления только из-за iPhone X. - person Deepak Sharma; 23.10.2017
comment
@DeepakSharma Один из вариантов — ограничить кнопки безопасной областью, а не их супервизором. Для этого удалите текущие ограничения на кнопках и создайте новые ограничения между кнопками и безопасной областью. - person nathangitter; 23.10.2017