iOS旅途

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

2019-01-14  本文已影响0人  朝阳小麦

适用人员: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);
上一篇 下一篇

猜你喜欢

热点阅读