我有一个UIImageView,目标是通过给它一个高度或宽度按比例缩小它 .
UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://farm4.static.flickr.com/3092/2915896504_a88b69c9de.jpg"]]];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
//Add image view
[self.view addSubview:imageView];
//set contentMode to scale aspect to fit
imageView.contentMode = UIViewContentModeScaleAspectFit;
//change width of frame
CGRect frame = imageView.frame;
frame.size.width = 100;
imageView.frame = frame;
图像确实调整了大小但位置不在左上角 . 缩放image / imageView的最佳方法是什么?如何更正位置?
17 回答
这对我来说很好用Swift 2.x:
对于Swift:
按比例设置
UIimageview
.........一旦我找到文档,很容易修复!
我已经看过一些关于比例类型的讨论,所以我决定整理一个article regarding some of the most popular content mode scaling types .
相关图片如下:
我刚试过这个,UIImage不支持_imageScaledToSize .
我最后使用一个类别向UIImage添加了一个方法 - 我在Apple Dev论坛上发现了一个建议 .
在项目范围内.h -
执行:
您可以尝试使
imageView
大小与image
匹配 . 以下代码未经过测试 .发布在顶部的原始代码在iOS 4.2中适用于我 .
我发现创建一个CGRect并指定所有top,left,width和height值是在我的情况下调整位置的最简单方法,即在表格单元格中使用UIImageView . (仍然需要添加代码来释放对象)
一个人可以通过这种方式调整UIImage的大小
通过选择Mode to
Aspect Fill
来设置ImageView,然后选中Clip Subviews
框 .UIImageView Scale.h:
UIImageView Scale.m:
我使用了以下code.where imageCoverView是UIView保存UIImageView
如果此处提出的解决方案不适合您,并且您的图像资产实际上是PDF,请注意XCode实际上对PDF的处理方式与图像文件不同 . 特别是,它似乎无法扩展以正确填充PDF:它最终拼贴而成 . 这让我疯狂,直到我发现问题是PDF格式 . 转换为JPG,你应该很高兴 .
通常我对我的应用程序使用此方法( Swift 2.x 兼容):
我想你可以做点什么
以下是如何轻松扩展它的方法 .
这适用于模拟器和iPhone的2.x.