Ошибка с UIVisualEffectView?

Кто-нибудь знает об ошибке в представлении UIVisualEffect, которая может привести к тому, что размытие каждого вида становится светлее / четче по мере добавления новых представлений?

У меня есть два UIVisualEffectViews, чьи пятна работают отлично. Как только я добавлю третий UIVisualEffectView, сконфигурированный таким же образом, пятна всех их внезапно станут светлее, как описано выше? Кто-нибудь сталкивался с этим? Или я что-то не так делаю?

Примечательно: размытия находятся внутри контроллера вида клавиатуры, визуализируемого в центре внимания.

Вот код для моей настройки:

//1

var blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark)
        var blurEffectView = UIVisualEffectView(effect: blurEffect)
        blurEffectView.frame = CGRectMake(0, 0, self.frame.width/3-0.5, self.frame.height)
        blurEffectView.opaque = true
        self.addSubview(blurEffectView)

        var vibrancyEffect = UIVibrancyEffect(forBlurEffect: blurEffect)
        var vibrancyEffectView = UIVisualEffectView(effect: vibrancyEffect)
        vibrancyEffectView.frame = self.bounds

        blurEffectView.contentView.addSubview(vibrancyEffectView)
        blurEffectView.contentView.addSubview(btn1)
//2
        var blurEffect1 = UIBlurEffect(style: UIBlurEffectStyle.Dark)
        var blurEffectView1 = UIVisualEffectView(effect: blurEffect1)
        blurEffectView1.frame = CGRectMake(self.frame.width/3+0.5, 0, self.frame.width/3-0.5, self.frame.height)
        self.addSubview(blurEffectView1)

        var vibrancyEffect1 = UIVibrancyEffect(forBlurEffect: blurEffect1)
        var vibrancyEffectView1 = UIVisualEffectView(effect: vibrancyEffect1)
        vibrancyEffectView1.frame = self.bounds

        blurEffectView1.contentView.addSubview(vibrancyEffectView1)
        blurEffectView1.contentView.addSubview(btn2)
//3    
            var blurEffect2 = UIBlurEffect(style: UIBlurEffectStyle.Dark)
            var blurEffectView2 = UIVisualEffectView(effect: blurEffect2)
            blurEffectView2.frame = CGRectMake(2*(self.frame.width/3+0.25), 0, self.frame.width/3-0.5, self.frame.height)
            self.addSubview(blurEffectView2)

        var vibrancyEffect2 = UIVibrancyEffect(forBlurEffect: blurEffect2)
        var vibrancyEffectView2 = UIVisualEffectView(effect: vibrancyEffect2)
        vibrancyEffectView2.frame = self.bounds

        blurEffectView2.contentView.addSubview(vibrancyEffectView2)
        blurEffectView2.contentView.addSubview(btn3)

0 ответов

Другие вопросы по тегам