UIVisualEffectView会创建一个灰色框,而不是模糊



我正在使用UIVisualEffectView来模糊SpriteKit中的屏幕部分,如下所示:

let blur:UIBlurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark)
let UIEffectView:UIVisualEffectView = UIVisualEffectView(effect: blur)
UIEffectView.frame = CGRectMake(0, 0, frame.width, frame.height * 0.15)
self.view?.addSubview(UIEffectView)

但它显示为灰色阴影区域,而不是模糊区域。奇怪的是,当GameCenter的通知在开始时显示时,它变得模糊了,上面写着"欢迎回来,(玩家)"——但一旦通知消失,它又变成了一个灰色的盒子。

同样的情况也适用于当你进入iOS9中的多任务视图时,预览会模糊部分,但当你进入应用程序时,它会再次变为灰色阴影区域。

你知道为什么会这样吗?它在模拟器和物理硬件中也起到了同样的作用。

在使用UIVisualEffectView创建模糊视图之前,我也有同样的头痛,在模拟器上进行了更正,但在iphone&事实证明,当你把UIKitSpriteKit混在一起时,会发生一些奇怪的事情。我建议使用SKEffectNode来做模糊工作,而不是使用UIVisualEffectView

最新更新