Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 已将大UIImage比例下载到UIImageView_Ios_Objective C_Uiimageview_Uiimage - Fatal编程技术网

Ios 已将大UIImage比例下载到UIImageView

Ios 已将大UIImage比例下载到UIImageView,ios,objective-c,uiimageview,uiimage,Ios,Objective C,Uiimageview,Uiimage,我正在下载一个相当大的图像并将其存储在UIImage中。然后我将UIImage添加到UIImageView以显示,但是UIImage太大了,因此,它只显示图像的一部分(左上角)。我想让它显示整个UIImage,将图像缩小以适应UIImageView 我看了很多不同的答案,但都不管用。我已将UIImageView的缩放模式设置为两个方向填充、拟合,并由您命名(也尝试了剪辑子视图),但没有任何效果 代码如下: UIImage *trackImg = [UIImage imageWithContent

我正在下载一个相当大的图像并将其存储在
UIImage
中。然后我将
UIImage
添加到
UIImageView
以显示,但是
UIImage
太大了,因此,它只显示图像的一部分(左上角)。我想让它显示整个UIImage,将图像缩小以适应UIImageView

我看了很多不同的答案,但都不管用。我已将
UIImageView
的缩放模式设置为两个方向填充、拟合,并由您命名(也尝试了剪辑子视图),但没有任何效果

代码如下:

UIImage *trackImg = [UIImage imageWithContentsOfFile:trackImagePath];
_backgroundImage.image = trackImg;
代码很简单,但它所做的只是下载UIImage,并将其设置为UIImageview的映像。UIImageView在界面生成器中配置


提前感谢。

错误在于imageView的大小(感谢Huy Nghia)。我将约束设置错误,这导致imageView的大小与我预期的不同,我无法轻松检测到,因为我希望它填充整个屏幕


如果其他人遇到困难,请尝试确保您的约束条件正确。

您可以使用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)];

您能显示您的代码吗?对不起,现在添加。您是否设置了_backgroundImage.contentMode=ui视图contentmodescaleaspectfit?你检查过背景图像框了吗?哦,那是因为框的尺寸不对。我设置了错误的约束,这把它搞砸了-。-“仍然习惯于这种新的约束系统(有时觉得有点难),结果我找错了地方。非常感谢,非常抱歉。