画一个灰度的UIView?

时间:2012-05-25 21:31:01

标签: ios uiview filter grayscale

有没有办法用灰度绘制给定的UIView(和它的子视图)?

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

3 个答案:

答案 0 :(得分:0)

您无法以灰度绘制UIView,但您可以在整个事物的顶部放置一个半透明的UIView图层,以显示灰显的行为。

检查this

答案 1 :(得分:0)

当我想停用视图时,我通常只设置userInteractionEnabled = NOalpha = .5(或其他一些< 1. alpha)

答案 2 :(得分:0)

将 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)