在 ios 中使用原始尺寸在 UIImageView 中设置图像

Posted

技术标签:

【中文标题】在 ios 中使用原始尺寸在 UIImageView 中设置图像【英文标题】:Set image in UIImageView with original Dimension in ios 【发布时间】:2016-02-05 08:59:25 【问题描述】:

我的 UIImageView 具有恒定的 Width*Height 在 UIView 上是 100*100,但是我想在这个 UIImageView 中显示的图像是 25*25(原始尺寸)。

我不想拉伸图像。我尝试 UIImageView ContentMode 属性但没有用。

这个我不想要。试过 sizeToFit 和 aspectCenter 模式。

我需要以下结果,对于小图像

如何做到这一点(不拉伸原始图像尺寸和恒定的 UIImageView 尺寸)。如果图像大于 UIImageView 会怎样?提前致谢。

【问题讨论】:

你使用过 [yourImage sizeToFit] 吗? 嗯 @Hima 不工作。 uiimageview 100*100,image 25*25 的场景是什么? 【参考方案1】:

试试这个 (目标-C):

imageView.contentMode = UIViewContentModeCenter;

(斯威夫特):

imageView.contentMode = UIViewContentMode.Center;

【讨论】:

不适用于大图像。前任。 300*300 不显示完整图像。 你在使用自动布局吗?如果是这种情况,请从图像中删除大小限制。【参考方案2】:

调用 - sizeToFit 这应该完全符合您的需要。

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/index.html#//apple_ref/occ/instm/UIView/sizeToFit

【讨论】:

图像出现在左上角,有时图像太大。打破高度宽度限制。 您是否通过设置适当的内容模式将图像完全居中?或者相应地重新对齐 UIImageView。【参考方案3】:

你应该试试这个

imageView.contentMode = UIViewContentModeScaleAspectFit;

无论图像大小,它都会缩放图像。

如果您不想拉伸图像,则必须将 UIImageView 调整为图像大小

您可以从 UIImage 获取图像大小。 例如

UIImage *image = [UIImage imageNamed:@"imageName"];
float imgHeight = image.size.height;
float imgWidth = image.size.width;

【讨论】:

以上是关于在 ios 中使用原始尺寸在 UIImageView 中设置图像的主要内容,如果未能解决你的问题,请参考以下文章

iOS-UIImageView点击图片放大,再次点击恢复原始尺寸

《Motion Design for iOS》(二十二)

OpenGL 中的 2D 绘图:在原始尺寸下具有像素精度的线性过滤

Jcrop 在预览前检查原始图像尺寸

如何使用 iOS 轻松调整/优化图像大小?

js获取图片原始尺寸