2014-03-26 54 views
0

我正在使用自定义UICollectionViewCell,该单元格包含一个UIImageView的大小(320,145),但我需要显示400 x 400的图像,因此我试图使用UIScrollView来显示整个图像没有裁剪它,即用户可以滚动查看整个图像的部分。在自定义UICollectionViewCell UIScrollView中调整UIImageView

我在scrollView中添加了我的imageView,并为scrollView提供了适当的帧大小和内容大小,如下面的代码所示。但是,静止图像是不看正确,我可以看到图像是变小,以适应屏幕上,我可以看到整个图像,并且还在滚动,但我希望看到完整的图像,即400×400

UIScrollView * imgScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 145)]; 
[imgScrollView setScrollEnabled:YES]; 
[imgScrollView setClipsToBounds:YES]; 
[imgScrollView addSubview:_albumImageView]; 
[imgScrollView setBackgroundColor:[UIColor yellowColor]]; 

[imgScrollView setContentSize:CGSizeMake(400, 400)]; /// my _albumImageView is of 400 x 400 

_albumImageView.contentMode = UIViewContentModeScaleToFill; 
_albumImageView.clipsToBounds = YES; 

[self.contentView addSubview:imgScrollView]; 

以上代码的输出看,如下截图 enter image description here

,但我想它下面的截图与滚动启用。(图像可以与相同尺寸不同) enter image description here

回答

0

我想这是因为你将contentMode属性设置为UIViewContentModeScaleToFill

_albumImageView.contentMode = UIViewContentModeScaleToFill; 

这将导致图像调整大小以填充帧(320x145)。


编辑:

而且,在你_albumImageView一个可调整大小 UIImage的形象?如果不是,使其可调整大小与

UIImage *img = [albumImage resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0) resizingMode:UIImageResizingModeStretch]; 

它添加到您的_albumImageView

+0

谢谢杰夫,但图像仍然没有缩放,它与scrollView的中心对齐,但没有大小为400 x 400. – prabhu

+0

,我想将它放在400 x 400作为其原始图像大小,并且需要在320 x 145单元格中滚动显示。 – prabhu

+0

编辑答案添加其他内容来尝试 - 确保您的图片可以调整大小 –

0

尝试在此之前

_albumImageView.contentMode = UIViewContentModeScaleAspectFill;

相关问题