Я пытаюсь нарисовать несколько миниатюр изображений фиксированного размера (100x100), используя UIImageView
. Я установил размер кадра моего изображения 100x100 и установил contentMode
в UIViewContentModeScaleAspectFill
.
Насколько я понимаю, это должно привести к тому, что изображение будет нарисовано в размере, который я установил, и изображение заполнит область изображения, и обрежет любые части изображения, которые не соответствуют размеру, который я установил для вида изображения. Тем не менее, изображение по-прежнему отображается больше или меньше размера, установленного для него размером 100x100.
Если я установил contentMode
на UIviewContentModeScaleToFill
, то изображение рисуется точно 100х100, но это искажено , чтобы вписаться в эти размеры. Любые идеи, почему заполнение аспекта не обрезается, как ожидалось?
Вот мой код:
_photoView = [[UIImageView alloc] initWithImage:photoImage];
_photoView.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:_photoView];
CGRect photoFrame = _photoView.frame;
photoFrame.size = CGSizeMake(100, 100);
_photoView.frame = photoFrame;
Чтобы лучше проиллюстрировать, вот скриншот того, что я вижу. Зеленые квадраты - это то, UIView
с чем UIImageView
я работаю. Я установил их фоновый цвет на зеленый, а рамку вида на 100x100. Как тест, они UIImageViews
имеют размеры до 50х50. Как вы можете видеть, при использовании ...AspectFill
изображения размеры не 50x50, а в некоторых случаях смещены от того места, где я бы их хотел. При использовании ...ScaleToFill
они имеют правильный размер, но изображение искажено.