Я намагаюся намалювати деякі ескізи у фіксованому розмірі (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
вони розміром до 50x50. Як бачите, при використанні ...AspectFill
зображення зображення не розміром до 50х50, а в деяких випадках зміщуються з того місця, де я б їх хотів. При використанні ...ScaleToFill
вони мають розмір правильно, але зображення спотворюється.