Я пытаюсь сделать несколько уменьшенных изображений с фиксированным размером (100x100) с помощью UIImageView. Я установил размер кадра моего изображения равным 100x100 и установил contentMode в UIViewContentModeScaleAspectFill.
Мое понимание заключается в том, что это должно привести к тому, что изображение будет нарисовано с установленным мной размером, и изображение заполнит область изображения и скопирует любые части изображения, которые находятся за пределами размера, установленного для представления изображения, Однако изображение по-прежнему нарисовано больше или меньше размера 100x100, который я установил для него.
Если я установил contentMode в UIviewContentModeScaleToFill, тогда изображение будет нарисовано ровно на 100x100, но оно искажено, чтобы вписаться в эти размеры. Любые идеи, почему заполнение аспект не обрезается, как ожидалось?
Здесь мой код:
_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 равен 50x50. Как вы можете видеть, при использовании ...AspectFill изображения не имеют размер 50x50 и в некоторых случаях смещены от того места, где они мне нравятся. При использовании ...ScaleToFill они имеют правильную размерность, но изображение искажено.



