Blur View Over CAGрадиентный слой - серый - PullRequest
0 голосов
/ 24 января 2019

Я добавляю UIVisualEffectView для размытия моего вида. фон моего обзора представляет собой градиентный слой, и когда я добавляю размытие, он просто становится серым.

enter image description here

Greyed out blurred

Это вид исчезновения:

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

Любая помощь Заставить размыть все цвета вида, а не только этот странный серый?

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Я пробовал ваш тот же код в Xcode 10.1

Вывод:

enter image description here

Код:

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
        }
    )
}
0 голосов
/ 24 января 2019

Попробуйте добавить свой blurredView без постепенного перехода. Действительно, UIVisualEffectView не очень хорошо работает с альфой, поэтому может объяснить проблему. В документации есть параграф об этом:

Установка правильного значения альфа-канала

При использовании класса UIVisualEffectView избегайте альфа-значений, которые меньше 1. При создании частично прозрачных представлений система объединяет представление и все связанные подпредставления во время прохода закадрового рендеринга. UIVisualEffectView объекты должны быть объединены как часть контента, на который они наложены сверху, чтобы выглядеть правильно. При установке значения альфа меньше 1 в представлении визуальных эффектов или любом из его суперпредставлений многие эффекты выглядят неправильно или не отображаются вообще.

...