Ios 以灰度绘制一个视图?
有没有办法以灰度绘制给定的UIView(及其子视图)Ios 以灰度绘制一个视图?,ios,uiview,filter,grayscale,Ios,Uiview,Filter,Grayscale,有没有办法以灰度绘制给定的UIView(及其子视图) 我正在尝试在不覆盖图像或切换用于绘制层次中每个UIView的图像的情况下,获取视图层次并使其看起来禁用。您不能以灰度绘制UIView,但可以在整个视图的顶部放置一个半透明的UIView层,以显示灰显行为 选中。您不能以灰度绘制UIView,但可以在整个对象的顶部放置一个半透明的UIView层,以显示灰显的行为 检查。当我想禁用视图时,我通常只设置userInteractionEnabled=NO和alpha=.5(或其他一些
我正在尝试在不覆盖图像或切换用于绘制层次中每个UIView的图像的情况下,获取视图层次并使其看起来禁用。您不能以灰度绘制UIView,但可以在整个视图的顶部放置一个半透明的UIView层,以显示灰显行为
选中。您不能以灰度绘制UIView,但可以在整个对象的顶部放置一个半透明的UIView层,以显示灰显的行为
检查。当我想禁用视图时,我通常只设置
userInteractionEnabled=NO
和alpha=.5
(或其他一些<1.alpha)当我想禁用视图时,我通常只设置userInteractionEnabled=NO
和alpha=.5
(或其他一些<1.alpha)在UIView中添加一个CALayer,将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)
将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)
给我的老问题添加一条评论。在这个帖子中可能有一个解决方案:给我的老问题添加一条评论。此线程中可能有一个解决方案: