模糊UIPickerView背景

时间:2015-02-26 23:19:56

标签: ios objective-c cocoa-touch

点按UIPickerView时,我正在显示UITableViewCell。我正在尝试向pickerView添加UIVisualEffectView以使其背景模糊。我 尝试 得到的是:

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,最终也会将 模糊放在选项轮的 前面。如果我在滚动视图时仔细查看,我可以看到后面移动模糊的选项。

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

1 个答案:

答案 0 :(得分:1)

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