记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的分享图片
测试设备为iPhoneX
,目标页面的frame
为CGRectMake(0, 0, 375, 560)
目的是为了生成此View
的图片,用于分享。
首先使用此方法生成UIImage
,
UIImage *tempImage = [shareView SaveViewImage];
-(UIImage *)SaveViewImage
{
CGSize imageSize= self.bounds.size;
UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *SaveImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return SaveImage;
}
生成页面结果如下:
文章图片
图片分辨率为1125?×?1680
最终图片分辨率为
1125?×?1680
;
但是想要输出的结果是
750 ×1120
,
修改生成上下文的方法为
UIGraphicsBeginImageContextWithOptions(CGSizeMake(750, 1120), YES, 0);
,重新编译,发现出现了混乱,而且分辨率为2250?×?3360
:
文章图片
图片出现混乱
修改上下文生成方法为
UIGraphicsBeginImageContext(CGSizeMake(750, 1120));
发现页面被缩放了:
文章图片
页面被缩放
感觉是
view
的frame
的单位从pt
变成了px
。
所以修改目标
View
的frame
为CGRectMake(0, 0, 750, 1120)
,并且把view
中的各控件的frame
同时调整为两倍,最终生成了符合要求的分辨率为750 ×1120
的类似图一效果的目标图片。
【记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的分享图片】推荐阅读
- 20170612时间和注意力开销记录
- 2020-04-07vue中Axios的封装和API接口的管理
- iOS中的Block
- 【剽悍读书营成长记录】2018年我收获了什么|【剽悍读书营成长记录】2018年我收获了什么 3357-小松
- ssh生成公钥秘钥
- 课后分享记录
- 2019-08-29|2019-08-29 iOS13适配那点事
- Hacking|Hacking with iOS: SwiftUI Edition - SnowSeeker 项目(一)
- iOS面试题--基础
- 感赏15+投射