有没有办法以灰度绘制给定的 UIView(及其子视图)?
我正在尝试获取视图层次结构并使其看起来被禁用而不覆盖图像或切换用于在层次结构中绘制每个 UIView 的图像。
当我想禁用视图时,我通常只设置userInteractionEnabled = NO
和alpha = .5
(或其他一些 < 1. alpha)
您不能以灰度绘制 UIView,但您可以在整个事物的顶部放置一个半透明的 UIView 层以显示灰色的行为。
检查这个。
Add a CALayer to your UIView, with the compositingFilter set to 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)