2015-08-13 91 views
0

我有一个UIImageView显示UIImage的内容模式设置为UIContentModeScaleAspectFit。 imageview和屏幕一样宽。我想调整图像视图的大小而不改变图像的位置和比例。所以,在调整大小之后,UIImage仍然实际上处于相同的位置,并且实际上与屏幕宽度一样,但由于imageview调整大小而不完全可见。调整UIImageView的大小而不缩放UIImage

我尝试使用UIContentModeLeft,同时从右侧调整大小,修复UIImage的位置,但是当我使用UIContentModeScaleAspectFit时,图像未处于完全分辨率。

我对此毫无头绪。我可能需要使用CGImage或CIImage,但我不知道从哪里开始。

回答

0

我设法解决我的问题。下面是我所做的:

  • 创建UIView我在其中添加UIImageView子视图
  • 设置ImageView的内容模式UIContentModeScaleAspectFit
  • 定义的ImageView架使屏幕与[[UIScreen mainScreen] bounds]
  • setClipsToBounds = YESUIView

现在,当调整大小时,imageview不缩放,因为它的fra我被定义为和屏幕一样大,setClipsToBounds:确保我看不到UIView框架之外的部分图像。

1

将您想要显示的图像设置为视图的背景,而不是源图像。

您可以使用:

yourImageView.background = [UIColor colorWithPatternImage:[UIImage imageNamed:@"nameOfTheImageYouWantToDisplay"]];

+0

它没有按预期工作。将图像设置为bactkground时,图像比屏幕大得多,我只能看到一小部分。这就是为什么我最初想要使用UIContentModeScaleAspectFit。否则,我需要使用更低的图像分辨率,例如iPhone 6上的375像素宽度以适应屏幕......但这是一个好主意,一会儿我以为它会解决我的问题。 – Boris88