Я пытаюсь добавить эффект размытия в 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)