我一直在处理这个问题已经有一段时间了,但我真的想知道处理这种情况的正确方法:
如果我从CoreData获得NSData图像,那么:
NSData *myImageData = myEntity.Image;
cell.imageView.image = [UIImage imageWithData:myImageData];
[cell.imageView setContentMode:UIViewContentModeScaleAspectFit];
如果图像大于UIImageView的CGRect,则图像不会将自身约束到UIImageView的CGRect。
我目前正在使用类似的代码解决问题:
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方法的错误,因为它应该有效。
感谢您抽出宝贵时间阅读我的问题。
答案 0 :(得分:0)
您需要在设置内容模式后致电[cell.imageView setNeedsDisplay]
,或在设置setContentMode
值之前将呼叫移至cell.imageView.image
。