您好我正在尝试调整UIImage的大小,但即使我没有收到任何错误也无法正常工作。
她的.h文件的代码
IBOutlet UIImageView *Fish;
继承人.m文件的代码
Fish.frame = CGRectMake(0, 0, 300, 293);
我做错了什么? 谢谢你的帮助
答案 0 :(得分:0)
我打赌你的插座没有连接起来。在“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大小的最佳方法。如果你正在使用常规弹簧和struts,你可以通过点击弹簧来增长出口。根据superview的大小进行扩展,例如:
如果您正在进行AutoLayout,那么您可以做一些不同的事情(基本上将视图固定在超视图的所有四个方面)。
我是这样做的:
1)选择要添加约束的出口/对象(在您的情况下,它将是鱼图像视图)
2)在Interface Builder窗口的底部看到分段控件?单击第二个,您将看到一个弹出窗口,其中包含可添加的约束列表。
3)在我的例子中,我在我的ImageView中添加约束,总是距离超视图的每个边缘10个像素(注意四个“10”和 实体 红线意味着我正在添加四个约束。)
AutoLayout是一种习以为常的痛苦(我自己也在学习它),但我怀疑一旦掌握了它,它将成为一个强大的新工具,特别是当Apple引入额外的iOS屏幕时在不久的将来尺寸。
答案 1 :(得分:0)
图像可能没有调整大小,因为您只是调整图像视图的大小。确保在故事板中制作图像视图(鱼),移动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以查找我的所有应用!谢谢!