Я нашел здесь некоторые другие ответы, но они, кажется, не применяются / не работают, поэтому я полагаю, что это может быть связано с моим конкретным кодом.
В моем приложении у меня есть массив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 (в пределах прокрутки) - это увеличенное изображение центра изображения, независимо от того, на что я изменяю режим содержимого.
Что я здесь не так делаю?спасибо!