适用人员:iOS开发人员。
本文内容:iOS如何叠加多个视图生成图片,并保存到本地。
第一步:希望生成图片的所有视图,都要在一个公共的父视图上,比如设置一个contentView,其他都是contentView的子视图。
那么可以渲染contentView上的所有视图为一个UIImage。代码如下:
UIGraphicsBeginImageContextWithOptions(CGSizeMake(self.contentView.size.width, self.contentView.size.height), NO, 0);
[self.contentView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * resultImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
第二部:把UIImage保存到本地即可。代码如下:
UIImageWriteToSavedPhotosAlbum(resultImage,
self,
@selector(image:didFinishSavingWithError:contextInfo:),
nil);
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{
if (error == nil){
[FYTipsView showTips:@"已保存到本地相册"];
} else {
[FYTipsView showTips:@"保存失败,请重试!"];
}
}
如果不需要报错提示的话,直接置为nil即可:
UIImageWriteToSavedPhotosAlbum(resultImage, self, nil, nil);
网友评论