模糊化UIPickerView的背景

3
当我点击单元格时,我会显示一个UIPickerView。我试图在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个回答

2

由于您不知道UIPickerView的确切视图层次结构,因此我建议将您的pickerView的backgroundColor设置为clearColor,并将picker视图作为模糊效果视图的子视图。这是正确的做法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接