Почему ограничение отношения не соблюдается на iPhone XR / Xs Max? - PullRequest
0 голосов
/ 19 июня 2019

У меня есть маленький UIImageView для отображения фотографии профиля пользователя.Это выглядит хорошо на iPhone 6S, но когда я запускаю его на iPhone XR, изображение уменьшается до крошечной точки на экране.Я пробовал с симуляторами разных моделей, эта проблема появляется только на симуляторах XR / Xs Max.

В конце я обнаружил проблему: у меня было 2 ограничения на это UIImageView: ограничение ширины 32 точкии ограничение отношения 1. Когда я удаляю ограничение отношения и добавляю ограничение высоты в 32 точки, все работает нормально.

Мне интересно, что заставляет iPhone XR / Xs Max не соблюдать соотношениеограничение?Не поддерживается ли ограничение отношения в новых моделях?

Все симуляторы работают под управлением iOS 12.2.

- EDIT -

Еще одна проблема с макетом пользовательского интерфейса только для XR / Xs Max, не связанная с отношением.Я поместил UIImageView в View контейнера и установил его фрейм следующим образом:

imageView.frame = self.containerView.bounds
imageView.contentMode = .scaleAspectFit

imageView отлично смотрится на всех других моделях, заполняя containerView.Но в XR / XsMax справа и снизу есть поле:

enter image description here

Чего мне здесь не хватает?

1 Ответ

1 голос
/ 19 июня 2019

В конце концов я обнаружил проблему: у меня было 2 ограничения на этот UIImageView: ограничение ширины 32 точки и ограничение отношения 1.

Это работает. По всей вероятности, вы неправильно настроили ограничение соотношения сторон.

imageView.frame = self.containerView.bounds

Здесь все зависит от , когда вы говорите это. Если вы скажете это слишком рано, например, в viewDidLoad, сам containerView еще не имеет своего реального bounds, так что вы получите неверный результат. Вот почему использование ограничений намного лучше. Используя ограничения, вы можете гарантировать, что представление изображения будет соответствовать своему суперпредставлению.

Так что вернитесь к использованию ограничений, правильно настройте соотношение сторон, и все будет хорошо.

...