首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从不支持UIViewContentMode的NSData创建的UIImages

从不支持UIViewContentMode的NSData创建的UIImages
EN

Stack Overflow用户
提问于 2012-02-25 08:25:59
回答 1查看 538关注 0票数 5

我处理这个问题已经有很长一段时间了,但我真的想知道处理这种情况的正确方法:

如果我从CoreData获得一个NSData格式的图像,如下所示:

代码语言:javascript
复制
NSData *myImageData = myEntity.Image;
cell.imageView.image = [UIImage imageWithData:myImageData];
[cell.imageView setContentMode:UIViewContentModeScaleAspectFit];

如果图像大于UIImageView的CGRect,则图像不会将自身约束到UIImageView的CGRect。

我目前使用类似如下的代码来解决这个问题:

代码语言:javascript
复制
CGSize size = CGSizeMake(98, 98);
UIGraphicsBeginImageContext(size);
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

cell.imageView.image = scaledImage;

这是有效的,但我当然希望有人告诉我,我在ContentMode方法中做错了什么,因为它应该是有效的。

感谢您抽出时间阅读我的问题。

EN

回答 1

Stack Overflow用户

发布于 2012-02-25 17:30:53

您需要在设置内容模式之后调用[cell.imageView setNeedsDisplay],或者在设置cell.imageView.image值之前将调用setContentMode移动到。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9439962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档