首页 > 解决方案 > CAGradient 图层上的模糊视图为灰色

问题描述

我正在添加一个 UIVisualEffectView 来模糊我的视图。我视图的背景是 ca 渐变层,当我添加模糊时,它只是变灰。

在此处输入图像描述

变灰模糊

这是淡化视图:

    let fadeView = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffect.Style.light))

按下按钮时运行此代码:

    fadeView.frame = view.frame
    fadeView.center = view.center
    fadeView.alpha = 0.0
    fadeView.layer.zPosition = 1
    fadeView.isOpaque = true
    view.addSubview(fadeView)
    UIView.animate(withDuration: 0.3, animations: {self.fadeView.alpha = 1.0})

任何帮助使它模糊视图的所有颜色,而不仅仅是这种奇怪的灰色?

标签: swiftuiblureffect

解决方案


我在Xcode 10.1中尝试过你的相同代码

输出:

在此处输入图像描述

代码:

func BlurScreen() {

    let fadeView = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffect.Style.dark))
    fadeView.frame = view.frame
    fadeView.center = view.center
    fadeView.alpha = 0.0
    fadeView.layer.zPosition = 1
    fadeView.isOpaque = true
    view.addSubview(fadeView)
    UIView.animate(
        withDuration: 1.3,
        animations: {
            fadeView.alpha = 1.0
        }
    )
}

推荐阅读