创建 UIImage 时出错
Error when creating UIImage
我正在尝试在从地址簿导入联系人时创建缩略图。
我使用的方法在显示的行崩溃。
@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);
}
在下面的行中尝试 size 而不是 self.size:
CGSize mainImageSize = self.size;//LINE WHERE IT CRASHES
我正在尝试在从地址簿导入联系人时创建缩略图。
我使用的方法在显示的行崩溃。
@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);
}
在下面的行中尝试 size 而不是 self.size:
CGSize mainImageSize = self.size;//LINE WHERE IT CRASHES