自定义模式演示文稿中的UIBlurEffect

时间:2016-08-22 19:57:11

标签: ios swift uivisualeffectview uimodalpresentationcustom

我目前使用自定义widget-hunter.js在屏幕的三分之一处呈现视图控制器。在我的UIPresentationController中,我将UIPresentationController包装在几个视图中以获得圆角和阴影(就像在Apple的Custom Transitions示例应用程序中一样)。我最近在presentedViewController层次结构中添加了一个UIVisualEffectView UIBlurEffect,但它显示的很奇怪。视图现在是半透明的,但不会模糊。

我认为这是因为模糊效果正确应用,但因为它是模态演示,所以它不会看到背后的视图,因此无法模糊它。有什么想法吗?这是相关的代码 presentedViewController

override func presentationTransitionWillBegin()

2 个答案:

答案 0 :(得分:3)

正如我在上面的评论中所说的,根据我的经验,使用presentationStyle的{​​{1}}属性可以让您定义一旦发生后如何处理所呈现的视图。请参阅here有关它的更多信息。该属性本身属于UIPresentationController类型,您可以看到它的可用值here

在我看来,UIModalPresentationStyle似乎是你想要的价值。来自Apple的文档:

  

演示文稿完成后,视图层次结构中的视图不会被删除。因此,如果呈现的视图控制器没有用不透明的内容填充屏幕,则底层内容将显示。

在我看来,这意味着你的模糊视图会有些模糊。

更新

此外,即使Apple的文档似乎已关闭,您也可以尝试this。我认为该属性的默认值为overCurrentContext而非true,如此处所述。

答案 1 :(得分:0)

我假设你在模拟器上测试它,对吗?如果是这样,请务必检查模拟器的图形质量覆盖设置并将其设置为高质量。那应该是你的伎俩。