使UIImageView适合图像内容

Ele*_*ore 1 objective-c uiimageview ios

是否可以完美地适应UIImageView其内容,以便:

  • 图像的起源和UIImageView物体重合;
  • 图像的框架和UIImageView物体重合?

我尝试使用以下代码:

self.imageView.contentMode = UIViewContentModeScaleAspectFit;
[self.imageView setBounds:CGRectMake(self.imageView.bounds.origin.x,
                                     self.imageView.bounds.origin.y,
                                     self.imageView.bounds.origin.x + self.imageView.image.size.width,
                                     self.imageView.bounds.origin.y + self.imageView.image.size.height)];
Run Code Online (Sandbox Code Playgroud)

然而,以这种方式,UIImageView对象开始于(0,0),而图像在屏幕上居中.

提前致谢.

mde*_*itt 5

我认为你正在寻找的东西是这样的:

   [self.imageView setFrame: AVMakeRectWithAspectRatioInsideRect(imageSize, self.imageView.frame)];
Run Code Online (Sandbox Code Playgroud)

其中imageSize是您希望维护的宽高比,在这种情况下,self.imageView.frame是边界矩形.

这是AVFoundation Framework的一部分,因此请确保包括:

  #import <AVFoundation/AVFoundation.h>
Run Code Online (Sandbox Code Playgroud)