[英]Fit UIImageView to image content
是否可以使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)];
但是,通过这种方式, UIImageView
对象从(0,0)
开始,而图像在屏幕上居中。
提前致谢。
我认为您要寻找的是以下方面的东西:
[self.imageView setFrame: AVMakeRectWithAspectRatioInsideRect(imageSize, self.imageView.frame)];
其中imageSize是您希望保持的宽高比,而在这种情况下, self.imageView.frame是边界矩形。
这是AVFoundation框架的一部分,因此请确保包括:
#import <AVFoundation/AVFoundation.h>
从您的描述看来,您似乎想要UIViewContentModeScaleAspectFill。
UIViewContentModeScaleAspectFit-将图像放入图像视图内。 如果图像小于图像视图,它将居中。
UIViewContentModeScaleAspectFill-将在图像视图内填充图像。 如果图像小于/大于图像视图,则将缩放图像。
适用于UIViewContentMode的 Apple文档
“是否可以将UIImageView完美地适合其内容?” 是。 您的代码尝试设置UIImageView
的bounds
。 听起来像您想要做的,就是将UIImageView
的frame
设置为frame
的大小。
做了一下,如果你不熟悉的区别谷歌搜索frame
上UIView
和bounds
一的UIView
; 这是一个重要的区别。 如果要设置UIImageView
的实际大小或位置,请使用其frame
,该frame
在包含UIImageView
的UIView
的坐标空间中运行。 相反,如果您想影响UIImageView
包含的视图的坐标空间,则可以使用bounds
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.