Изменить размер изображения, чтобы соответствовать пропорциям - PullRequest
2 голосов
/ 13 января 2012

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

Я не хочу обрезать изображение, но вместо этого уменьшите его достаточно сильно, чтобы поместиться в квадратные ограничения, а затем заполните оставшееся пространство некоторым фоновым цветом, возможно белым.

Ответы [ 3 ]

5 голосов
/ 13 января 2012

Установите contentMode вашего UIImageView на UIViewContentModeScaleAspectFit.

1 голос
/ 22 мая 2013

Создайте UIImageView с цветом фона нужного вам цвета.Создайте свое изображение с вашего сервера, установите изображение в представлении изображения, а затем установите contentMode = UIViewContentModeScaleAspectFit

UIImageView *backgroundColorWhite = [[UIImageView alloc] initWithFrame:someObject.frame];
backgroundColorWhite.backgroundColor = [UIColor whiteColor];
UIImage *serverImage = [UIImage imageWithData:serverData];
backgroundColorWhite.contentMode = UIViewContentModeScaleAspectFit;
[backgroundColorWhite setImage:serverImage];
1 голос
/ 13 января 2012

Я не знаю, помогает ли это или нет, но я использую это, чтобы соответствовать размеру представления, чтобы соответствовать изображениюОн берет предоставленный прямоугольник и обрезает его, чтобы соответствовать изображению.Возвращенный CGRect можно затем применить к представлению.Я использовал это, чтобы добавить тень к изображению (что выглядит неправильно, если изображение не полностью совпадает с изображением).

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