我正在下载一个相当大的图像并将其存储在UIImage中。然后我将UIImage添加到UIImageView进行显示,但是UIImage太大了,因此,它只显示图像的一部分(它的左上角)。我希望它显示整个UIImage,缩小图像以适应UIImageView。
我已经看了很多不同的答案,但我无法让他们中的任何一个工作。我已经将UIImageView的缩放模式设置为Aspect Fill,fit和你的名字(也尝试过剪辑子视图),但没有任何工作。
以下是代码:
UIImage *trackImg = [UIImage imageWithContentsOfFile:trackImagePath];
_backgroundImage.image = trackImg;
代码很简单,但它只是下载一个UIImage,并将其设置为UIImageview的图像。 UIImageView在interface-builder中配置。
提前致谢。
答案 0 :(得分:2)
您可以使用scaleToSize方法调整图像大小:
-(UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
// Here pass new size you need
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
传递你的UIImage,它应该调整大小。将方法称为:
[self imageWithImage:[UIImage imageNamed:@"yourImage.png"] scaledToSize:CGSizeMake(25,45)];
答案 1 :(得分:0)
错误的大小与imageView相同(感谢Huy Nghia)。我将约束设置错误,导致imageView的大小与我预期的大小不同,因为我希望它能够填满整个屏幕,所以我无法轻易检测到它。
如果其他人遇到困难,请尝试确保您的约束是正确的。