我正在尝试从地址簿导入联系人时创建缩略图。
我正在使用的方法在显示的行中崩溃。
@implementation UIImage (Thumbnail)
-(UIImage *) createThumbnailToFillSize:(CGSize)size
{
CGSize mainImageSize = self.size;//LINE WHERE IT CRASHES
UIImage *thumb;
控制台中的最后一行是:
self UIImage *const 0x7fb2ee0994e0 0x00007fb2ee0994e0
size CGSize (width=142, height=142)
mainImageSize CGSize (width=10, height=0)
我认为这个错误可能与height = 0有关但我不知道如何改变这个或者self.size真正指的是什么。
我正在使用的代码来自一本关于学习IOS的书。
有没有人看过这个或者可以建议如何修复?
编辑:
代码调用类别
// ...get permission to open contact, begin to extract contact info
if (ABPersonHasImageData(addressBookRecord)) {
CFDataRef imageData = ABPersonCopyImageData(addressBookRecord);
UIImage *fullSizeImage = [UIImage imageWithData:(__bridge NSData *)imageData];
CGFloat side = 71.f;
side *= [[UIScreen mainScreen] scale];
UIImage *thumbnail = [fullSizeImage createThumbnailToFillSize:CGSizeMake(side, side)];
self.imageData = UIImageJPEGRepresentation(thumbnail, 1.f);
CFRelease(imageData);
}
答案 0 :(得分:0)
在下面一行中尝试尺寸而不是 self.size :
CGSize mainImageSize = self.size;//LINE WHERE IT CRASHES