ios 代码上下文截屏之后导致的图片异常问题

业务场景,之前是直接将当前的collectionview截长屏操作,第一次截图会出现黑色部分原因是视图未完全布局,原因是第一次使用了Masonry约束然后再截图的时候进行了frame赋值,可以查看下Masonry约束和frame的冲突,全部修改成Masonry约束之后解决,现在一切都正常.

突然产品来了个需求,就是要把一些不需要的元素过滤掉,因此我修改了数据源之后reloadData然后重新截图,这个时候出现了异常

图片上可以很明显看得出来左右两边会有一个白色的尖角出来(但是视图展示正常),看起来像是一个圆角,然后我怀疑是某个图层出了问题,然后就把所有元素都设置了不一样的背景色,但是结果发现,这个白色位置和颜色并没有发生任何改变,中间怀疑是 layerCornerradius导致的,所以等刷新之后再切圆角,偶然就好了,但是并没有彻底好,此处可以确定为layer层导致,然后就一直集中在layer的圆角解决方案上来,后面自己画了一个layer,最后发现根本无法解决,然后我打算换一个思路解决,既然是layer层的问题,我就改变截图方式,我查看了之前的方式是根据- (void )renderInContext:(CGContextRef)ctx;,这个处理的就是layer层,然后我修改为- (BOOL )drawViewHierarchyInRect:(CGRect)rect afterScreenUpdates:(BOOL)afterUpdates方式后解决,可以判断的是因为圆角导致了离屏渲染从而layer层的截图出现了问题,到此一切解决

相关推荐
Swift社区7 小时前
iOS 基于 Foundation Model 构建媒体流
ios·iphone·swift·媒体
库奇噜啦呼9 小时前
【iOS】音频与视频播放
ios·音视频·cocoa
大熊猫侯佩16 小时前
黑衣人档案:用 Apple Foundation Models + SwiftUI 打造 AI 聊天机器人全攻略
ios·swiftui·ai编程
大熊猫侯佩16 小时前
侠客行・iOS 26 Liquid Glass TabBar 破阵记
ios·swiftui·swift
2501_9160074718 小时前
手机使用过的痕迹能查到吗?完整查询指南与步骤
android·ios·智能手机·小程序·uni-app·iphone·webview
從南走到北20 小时前
JAVA国际版同城外卖跑腿团购到店跑腿多合一APP系统源码支持Android+IOS+H5
android·java·ios·微信小程序·小程序
alengan1 天前
苹果企业签名流程
ios·iphone
Digitally1 天前
如何在Mac上同步iPhone短信
macos·ios·iphone
2501_915106321 天前
App HTTPS 抓包 工程化排查与工具组合实战
网络协议·ios·小程序·https·uni-app·php·iphone
2501_916008891 天前
金融类 App 加密加固方法,多工具组合的工程化实践(金融级别/IPA 加固/无源码落地/Ipa Guard + 流水线)
android·ios·金融·小程序·uni-app·iphone·webview