模糊UIPickerView的背景

我在点击UITableViewCell时显示UIPickerView 。 我试图将一个UIVisualEffectView添加到pickerView,使其背景模糊。 我想要得到的是:

https://www.evernote.com/shard/s111/sh/645d307f-c597-4dfa-890f-9404ed297e71/fd738fdf15cd956fcfa917e4311bfd1b

实际得到的是:

https://www.evernote.com/shard/s111/sh/27440e85-2181-49e1-89e0-4b57e0ce3783/e6e2abae0edfb705e915b03e1b37e008

这是我用来创建模糊并将其附加到选择器的代码:

 UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; UIVisualEffectView *blurEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect]; [blurEffectView setFrame:_myPicker.frame]; [_myPicker addSubview:blurEffectView]; [_myPicker sendSubviewToBack:blurEffectView]; 

请注意,即使调用sendSubviewToBack ,最终sendSubviewToBack将模糊放在选项轮的前面 。 如果我在滚动视图时仔细查看,我可以看到模糊后面的选项。

如何在背景中正确模糊并选择顶部的选项轮?

由于您不知道UIPickerView的确切视图层次结构,我建议您将pickerView clearColor作为backgroundColor,并将选择器视图作为blurEffectView的子视图。 这将是正确的方法。