是否可以设置UIImageView图像的位置?

Tha*_*nks 16 iphone image uiimageview

我有一个UIImageView显示更大的图像.它似乎是居中的,但我想把那个图像移到里面UIImageView.我查看了Apple 的MoveMe示例,但我无法弄清楚他们是如何做到的.看起来他们甚至没有UIImageView.有任何想法吗?

Gol*_*umb 26

你需要的是什么(例如显示原始图像左上角的30%×30%):

imageView.layer.contentsRect = CGRectMake(0.0, 0.0, 0.3, 0.3);
Run Code Online (Sandbox Code Playgroud)

"contentsRect"的描述:单位坐标空间中的矩形,用于定义应使用的图层内容部分.

  • 为什么选择downvote?如果将imageView的`contentMode`设置为`UIViewContentModeScaleAspectFill`,这将非常有效.一定要启用`clipsToBounds`. (3认同)

Rog*_*Rog 19

原始答案已被iOS4中的CoreAnimation取代.

正如Gold Thumb所说:你可以通过访问UIView的CALayer来做到这一点.特别是它的contentRect:

来自Apple Docs:单位坐标空间中的矩形,用于定义应使用的图层内容部分.动画.

  • 在发布时(2009年!)我已经更新了指向CALayer的答案 (3认同)

los*_*sit 12

是否要显示图像以使其包含在UIImageView中?在这种情况下,只需将UIImageView的contectMode更改为UIViewContentModeScaleToFill(如果宽高比无关紧要)或UIViewContentModeScaleAspectFit(如果要保持宽高比)

在IB中,可以通过在Inspector中设置Mode来完成.

在代码中,它可以作为

yourImageView.contentMode = UIViewContentModeScaleToFill;
Run Code Online (Sandbox Code Playgroud)

如果你想在UIImageView中显示大图像,最好和最简单的方法是在UIScrollView中放置图像视图.这样您就可以放大和缩小图像并移动它.

希望有所帮助.