Здесь я нашел несколько других ответов, но они, похоже, не применяются/работают, поэтому я считаю, что это может быть связано с моим конкретным кодом.UIImageView игнорирует мой параметр ContentMode
В моем приложении у меня есть массив UIImages, которые фактически уменьшают фотографии, сделанные камерой iPhone.
Я пытаюсь показать UIImage в scrollView, правильно масштабированный, чтобы показать все изображение.
Это мой код:
scrollView.pagingEnabled = YES;
scrollView.clipsToBounds = NO;
CGFloat contentOffset = 0.0f;
pageControl.numberOfPages = [imageArray count];
pageControl.currentPage = 0;
for(UIImage *image in imageArray)
{
NSLog(@"image width = %f, image height = %f", image.size.width, image.size.height);
CGRect imageViewFrame = CGRectMake(contentOffset, 0, scrollView.frame.size.width, scrollView.frame.size.height);
UIImageView *imageView = [[UIImageView alloc] initWithFrame:imageViewFrame];
[imageView setImage:image];
[imageView setClipsToBounds:YES];
[imageView setContentMode:UIViewContentModeScaleAspectFill]; //I've tried others, but nothing seems to show the entire image
[scrollView addSubview:imageView];
[imageView release];
contentOffset += scrollView.frame.size.width;
[scrollView setContentSize:CGSizeMake(contentOffset, 0)];
}
Просто к сведению, это портрет-ориентированные приложения и само изображение было принято в портретной ориентации.
Выход NSLog:
image width = 387.200012, image height = 518.400024
Образ, который я вижу, показать на UIImageView (в пределах Scrollview) является увеличенным до изображения центра изображения, независимо от того, что я изменить contentmode к ,
Что я здесь делаю неправильно? Спасибо!
Режим содержимого не работает, если вы масштабируете изображение. –