我正在使用带有开箱即用的 Master
和 Detail
View Controller 的库存 UISplitViewController
。在 Storyboard中,我向 Detail
Controller 集添加了一个 UIImageView
以有效地用单个图像填充 View 。
在 Master
Controller 中,我使用了以下内容来模糊该 Controller 的背景:
// In viewDidLoad
self.tableView.backgroundColor = [UIColor clearColor];
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
UIVisualEffectView *visualEffectView = [[UIVisualEffectView alloc]
initWithEffect:blurEffect];
self.tableView.backgroundView = visualEffectView;
self.tableView.separatorEffect = [UIVibrancyEffect effectForBlurEffect:blurEffect];
当 Master
Controller 出现在 Detail
Controller 上方时,请注意 Master
Controller 的边缘在内部边缘周围有一个黑色阴影.
如何去除这些“阴影”以呈现统一的模糊效果?
更多详情
调试 IB 中的 View 层次结构会显示一个名为 _UIPopoverSlidingChromeView
的(私有(private)?) View 。它有一个嵌入的灰色框架,这绝对是造成不均匀模糊外观的原因。
完全禁用模糊 View ,只保留 self.tableview.backgroundColor = [UIColor clearColor]
显示 _UIPopoverSlidingChromeView
的灰框。它看起来像这样:
关于在使用 UISplitViewController
时如何避免 _UIPopoverSlidingChromeView
有什么想法吗?
最佳答案
//как убрать дурацкий прямоугольник при прозрачном фоне maser окна в режиме UISplitViewControllerDisplayModeOverlay
CALayer* v_1 = self.view.superview.superview.superview.layer.sublayers[0];
CALayer* v_2=v_1.sublayers[0];
v_2.borderWidth=0;
关于ios - 在 UISplitView 的主视图中实现统一的 UIBlurEffect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26164982/