iOS多个控件视图叠加生成图片并保存本地

适用人员: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);

猜你喜欢

转载自blog.csdn.net/weixin_34203426/article/details/87374283
今日推荐