您好,我正在尝试调整 UIImage 的大小,但即使我没有收到任何错误,它也无法正常工作。
她的 .h 文件的代码
IBOutlet UIImageView *Fish;
这是.m文件的代码
Fish.frame = CGRectMake(0, 0, 300, 293);
我究竟做错了什么?谢谢你的帮助
您好,我正在尝试调整 UIImage 的大小,但即使我没有收到任何错误,它也无法正常工作。
她的 .h 文件的代码
IBOutlet UIImageView *Fish;
这是.m文件的代码
Fish.frame = CGRectMake(0, 0, 300, 293);
我究竟做错了什么?谢谢你的帮助
图像可能没有调整大小,因为您只是在调整图像视图的大小。确保在情节提要中制作图像视图(鱼),移动 ScaleToFill。由于声誉问题,我无法进行截图(抱歉 :( )
或者,如果您的目标不是调整图像视图的大小,而是调整它所持有的图像的大小,您可以这样做:
UIImage *image = Fish.image;
UIImage *image = YourImageView.image;
UIImage *tempImage = nil;
CGSize targetSize = CGSizeMake(80,60);
UIGraphicsBeginImageContext(targetSize);
CGRect thumbnailRect = CGRectMake(0, 0, 0, 0);
thumbnailRect.origin = CGPointMake(0.0,0.0);
thumbnailRect.size.width = targetSize.width;
thumbnailRect.size.height = targetSize.height;
[image drawInRect:thumbnailRect];
tempImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
YourImageView.image = tempImage;
您可以将 thumbnailRect 设置为您想要的任何大小。
希望这可以帮助!请在应用商店搜索 Nerdy Lime 以找到我所有的应用!谢谢!
我敢打赌你的插座没有连接。在您的 " viewDidLoad
" 方法中,尝试执行以下操作:
if(Fish)
{
Fish.frame = CGRectMake(0, 0, 300, 293);
} else {
NSLog(@"Fish is null; why did I forget to connect the outlet in my storyboard or xib?");
}
这不是调整 UIImageView 大小的最佳方式。如果您使用的是常规弹簧和支柱,您可以通过单击弹簧和支柱来增加出口,以根据超级视图的大小进行增长,例如:
如果你在做自动布局,你可以做不同的事情(基本上将你的视图固定到超级视图的所有四个方面)。
这是我的做法:
1)选择要添加约束的出口/对象(在您的情况下,它将是鱼图像视图)
2) 看到 Interface Builder 窗口底部的分段控件了吗?单击第二个,您将看到一个弹出视图打开,其中包含要添加的可能约束列表。
3) 在我的示例中,我在 ImageView 中添加了约束,使其始终距离超级视图的每个边缘 10 个像素(注意四个“10”和实心红线意味着我正在添加四个约束)。
AutoLayout 很难习惯(而且我自己还在学习),但我怀疑一旦掌握了它,它将成为一个强大的新工具,尤其是当 Apple 在不久的将来。