UIVisualEffectView становится непрозрачным - PullRequest
0 голосов
/ 24 октября 2019

Я пытаюсь добавить эффект размытия в UIView, содержащий UIImageView, но UIVisualEffectView становится непрозрачным.

Я пробовал приведенные ниже коды в Obj-C, и он работает нормально.

self.selectedDetailsView.backgroundColor = [UIColor clearColor];

// Blur Effect
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
UIVisualEffectView *bluredEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
[bluredEffectView setFrame:self.selectedDetailsView.bounds];

[self.selectedDetailsView addSubview:bluredEffectView];

// Vibrancy Effect
UIVibrancyEffect *vibrancyEffect = [UIVibrancyEffect effectForBlurEffect:blurEffect];
UIVisualEffectView *vibrancyEffectView = [[UIVisualEffectView alloc] initWithEffect:vibrancyEffect];
[vibrancyEffectView setFrame:self.selectedDetailsView.bounds];

// Add Vibrancy View to Blur View
[bluredEffectView.contentView addSubview:vibrancyEffectView];

Но когда я делаю это в Swift 3, как показано ниже, результат становится непрозрачным.

    self.donateGiftContainerView.backgroundColor = .clear

    let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.light)
    let blurEffectView = UIVisualEffectView(effect: blurEffect)
    blurEffectView.frame = self.donateGiftContainerView.bounds
    blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    self.donateGiftContainerView.addSubview(blurEffectView)

    let vibrancyEffect = UIVibrancyEffect(blurEffect: blurEffect)
    let vibrancyEffectView = UIVisualEffectView(effect: vibrancyEffect)
    vibrancyEffectView.frame = self.donateGiftContainerView.bounds
    vibrancyEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    blurEffectView.contentView.addSubview(vibrancyEffectView)
...