我正在尝试创建以UIVisualEffectView
为背景的模态弹出窗口。我希望UIVisualEffectView
在标签栏上方,但我看不到实现它的方法。
这是我所做的,但这不是我想要的输出:
var visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .light))
visualEffectView.frame = self.view.bounds
tabBarController?.view.addSubview(visualEffectView)
//Also tried like this
self.view.window?.addSubview(visualEffectView)
这正是我想要的:
所以我的问题是,我应该如何将
UIVisualEffectView
添加到选项卡栏上,同时作为子视图。我知道我可以制作另一个viewController并将其显示为.OverCurrentContext
,但这不是我的解决方案。 最佳答案
我重现了将visualEffectView添加到UITabBarController主视图中的问题。对于非半透明选项卡栏,视图控制器视图不在其下扩展,因此高度比需要的要短。
解决问题的方法
visualEffectView.frame = self.view.bounds
致:
visualEffectView.frame = self.tabBarController!.view.bounds