模糊 UIPickerView 的背景
Blurring a UIPickerView's background
我在点击 UITableViewCell
时显示 UIPickerView
。我正在尝试向 pickerView 添加 UIVisualEffectView
以使其背景模糊。我试图得到的是:
我实际上得到的是:
这是我用来创建模糊并将其附加到选择器的代码:
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
UIVisualEffectView *blurEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
[blurEffectView setFrame:_myPicker.frame];
[_myPicker addSubview:blurEffectView];
[_myPicker sendSubviewToBack:blurEffectView];
请注意,即使调用 sendSubviewToBack
,最终也会将模糊 放在 选项轮的前面.如果我在滚动视图时仔细观察,我可以看到选项在 后面 模糊。
如何在背景中正确地模糊并在顶部设置选项轮?
因为您不知道 UIPickerView 的确切视图层次结构,所以我只建议将您的 pickerView clearColor
作为 backgroundColor 并将选择器视图作为您的 blurEffectView 的子视图。这将是执行此操作的正确方法。
我在点击 UITableViewCell
时显示 UIPickerView
。我正在尝试向 pickerView 添加 UIVisualEffectView
以使其背景模糊。我试图得到的是:
我实际上得到的是:
这是我用来创建模糊并将其附加到选择器的代码:
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
UIVisualEffectView *blurEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
[blurEffectView setFrame:_myPicker.frame];
[_myPicker addSubview:blurEffectView];
[_myPicker sendSubviewToBack:blurEffectView];
请注意,即使调用 sendSubviewToBack
,最终也会将模糊 放在 选项轮的前面.如果我在滚动视图时仔细观察,我可以看到选项在 后面 模糊。
如何在背景中正确地模糊并在顶部设置选项轮?
因为您不知道 UIPickerView 的确切视图层次结构,所以我只建议将您的 pickerView clearColor
作为 backgroundColor 并将选择器视图作为您的 blurEffectView 的子视图。这将是执行此操作的正确方法。