在 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点击图片放大,再次点击恢复原始尺寸