更改 CAMetalLayer 背景颜色
change CAMetalLayer background color
我的 CAMetalLayer
背景颜色是黑色,即使我将新颜色指定为 backgroundColor
属性。
我错过了什么吗?谢谢!
Link 到原项目:
我已经查看了你的代码,但看不到你设置背景颜色的地方。
金属层作为子层添加到它,因此您必须明确设置它。
在 ParticialLab
class 中的 init 方法末尾添加这一行,看看它是否有效。
self.backgroundColor = UIColor.redColor().CGColor
这个项目采用了一种非常规的方法来清除每帧可绘制对象的纹理:它将纹理内容替换为与纹理大小相同的零数组(宽度 * 高度 * 4)。随后,它编码一些实际绘制粒子的计算工作。这几乎肯定不是实现此效果的最有效方法,但如果您想进行可能有效的最小更改(而不是尝试使代码尽可能高效),只需填写 blankBitmapRawData
具有所需清晰颜色的数组(ParticleLab.swift 的第 82 行附近)。
我发现图层上需要self.isOpaque = false
我的 CAMetalLayer
背景颜色是黑色,即使我将新颜色指定为 backgroundColor
属性。
我错过了什么吗?谢谢!
Link 到原项目:
我已经查看了你的代码,但看不到你设置背景颜色的地方。
金属层作为子层添加到它,因此您必须明确设置它。
在 ParticialLab
class 中的 init 方法末尾添加这一行,看看它是否有效。
self.backgroundColor = UIColor.redColor().CGColor
这个项目采用了一种非常规的方法来清除每帧可绘制对象的纹理:它将纹理内容替换为与纹理大小相同的零数组(宽度 * 高度 * 4)。随后,它编码一些实际绘制粒子的计算工作。这几乎肯定不是实现此效果的最有效方法,但如果您想进行可能有效的最小更改(而不是尝试使代码尽可能高效),只需填写 blankBitmapRawData
具有所需清晰颜色的数组(ParticleLab.swift 的第 82 行附近)。
我发现图层上需要self.isOpaque = false