CGRect图像大小调整

han*_*Dev 4 objective-c uiimage ios

我正在使用CGRect来显示图像.我希望CGRect在没有指定的情况下使用图像的宽度和高度.

这可以:

CGRectMake(0.0f, 40.0f, 480.0f, 280.0f);
Run Code Online (Sandbox Code Playgroud)

变成这样:

CGRectMake(0.0f, 40.0f, myImage.width, myImage.height);
Run Code Online (Sandbox Code Playgroud)

指定参数时,某些图像会失真.

这是代码:

CGRect myImageRect = CGRectMake(0.0f, 40.0f, 480.0f, 280.0f);
UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect];
[myImage setImage:[UIImage imageNamed:recipe.img]];
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

Dou*_*las 8

一旦你有了UIImage,你可以通过查看size属性找到它的大小:

UIImage * image = [UIImage imageNamed:recipe.img];
CGRect rect = CGRectMake(0.0f, 40.0f, image.size.width, image.size.height);

UIImageView * imageView = [[UIImageView alloc] initWithFrame:rect];
[imageView setImage:image];
Run Code Online (Sandbox Code Playgroud)