以灰度绘制 UIView?

Que*_*tin 4 filter uiview grayscale ios

有没有办法以灰度绘制给定的 UIView (及其子视图)?

我正在尝试采用视图层次结构并使其看起来已禁用,而无需覆盖图像或切换用于绘制层次结构中每个 UIView 的图像。

gne*_*wby 6

将 CALayer 添加到您的 UIView,并将 compositingFilter 设置为 colorBlendMode:

let grayLayer = CALayer()
grayLayer.frame = bounds
grayLayer.compositingFilter = "colorBlendMode"
grayLayer.backgroundColor = UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha: 1.0).cgColor
layer.addSublayer(grayLayer)
Run Code Online (Sandbox Code Playgroud)