我可以在iPhone地址簿中设置新联系人的缩略图,但当该联系人呼叫我的电话时,电话不会显示全屏版本。取而代之的是,它只在屏幕顶部显示缩略图版本,背景是我手机的屏幕保护程序。是不是有什么特别的事情需要做,而我却忘记了(参见下面的代码片段)?
此外,我确实找到了之前的一篇文章,指出没有以前的图片可以保存的联系人,但这仍然不能解决我的问题……
提前感谢!
UIImage *profileImage = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:picImageUrl]]];
NSData *profileImageDataRef = UIImagePNGRepresentation(profileImage);
ABPersonSetImageData(newPerson, (__bridge CFDataRef)profileImageDataRef, nil);发布于 2014-12-16 11:44:13
尝试使用以下代码将图像裁剪为完整大小
-(NSData *)dataFromImageData:(NSData *)imageData {
UIImage *image = [UIImage imageWithData:imageData];
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
UIGraphicsBeginImageContextWithOptions([UIScreen mainScreen].bounds.size, YES, 0.0);
} else {
UIGraphicsBeginImageContext([UIScreen mainScreen].bounds.size);
}
[image drawInRect:[UIScreen mainScreen].bounds];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return UIImageJPEGRepresentation(newImage, 0);
}然后保存它
NSData *dataRef = [self dataFromImageData:imageData];
CFDataRef cfdata = CFDataCreate(NULL, [dataRef bytes], [dataRef length]);
ABPersonSetImageData(aContact, cfdata, NULL);https://stackoverflow.com/questions/12993353
复制相似问题