概述
触发离屏渲染的操作:
-
shouldRasterize(光栅化)
-
masks(遮罩)
-
shadows(阴影)
-
edge antialiasing(抗锯齿)
-
group opacity(不透明)
-
复杂形状设置圆角等
-
渐变
-
Text(UILabel, CATextLayer, Core Text)
一.系统圆角
当 layer 的cornerRadius不为0, masksToBounds 必须为 true才能设置出圆角,而且屏幕渲染的性能不会随着cornerRadius值增大而降低,性能几乎不变.
二.圆角的解决方案:
1.重新绘制image 内容并且将圆角 clip
2.给图片附上一层透明的"圆角图片".(这种方法没有任何影响)
三. Shadow
1.shadow 会造成离屏渲染.
view.layer.shadowColor = UIColor.red.cgColor
view.layer.shadowOffset = CGSize(width: 5, height: 5)
view.layer.shadowOpacity = 1
设置 shadow,layer.masksToBounds不能为 true, 否则 shadow 会被 clip 掉.
view.layer.masksToBounds = false
2.给 shadow 添加 shadowPath 会取消离屏渲染.
let path = UIBezierPath(rect: view.bounds)
view.layer.shadowPath = path.cgPath
最后
以上就是清爽日记本为你收集整理的iOS 离屏渲染问题的全部内容,希望文章能够帮你解决iOS 离屏渲染问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复