ios - 模糊 UIPickerView 的背景

标签 ios objective-c cocoa-touch

点击 UITableViewCell 时,我显示 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,最终也会将模糊置于选项轮前面。如果我在 ScrollView 时仔细观察,我可以看到选项在模糊后面移动。

如何在背景和顶部选项轮中正确获得模糊效果?

最佳答案

由于您不知道 UIPickerView 的确切 View 层次结构,因此我建议您将 pickerView clearColor 作为backgroundColor,并将选取器 View 作为您的blurEffectView 的 subview 。这将是执行此操作的正确方法。

关于ios - 模糊 UIPickerView 的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31203682/

相关文章:

objective-c - UITableViewCell 行高

ios - objective c 如何从外部访问 applicationDidFinishLaunching 变量

ios - 在 iOS 中显示自定义 VoIP 应用程序的通话状态栏(双高)

cocoa-touch - NSNumberFormatter 用于向上舍入浮点值

ios - 需要 Objective C 重复回调

ios - 使用约束将按钮移向目标,没有反应?

objective-c - 减慢正在移动 ImageView 的 while 循环

ios - 有什么方法可以加速这个文件 I/O 代码吗?

ios - 如何在IOS Swift中获取FBSDKAccessToken

ios - 设置导航 Controller 的初始 View Controller