使用UIModalTransitionStyle CrossDissolve的UIVisualEffectView延迟

moh*_*ish 10 xcode uikit ios swift swift3

我呈现具有与一个背景模态的视图控制器UIVisualEffectViewUIBlurEffect类型的.light

我将呈现模态视图控制器,如下所示:

infoViewController.modalPresentationStyle = .overFullScreen
infoViewController.modalTransitionStyle = .crossDissolve
self.present(infoViewController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

我注意到在crossDissolve动画完成之前不会出现模糊效果视图.对于其他过渡样式,情况并非如此coverVertical.

这只发生在带有Swift 3的iOS 10上.

如何让crossDissolve动画与我的视觉效果视图一起工作infoViewController.有什么建议/解决方法吗?

小智 5

我所做的是用crossDisolvea替换CATransition,如下所示:

self.present(controller,
             animated: false,
             completion: nil)

let transition = CATransition()
transition.duration = 0.3
transition.type = kCATransitionFade
view.window?.layer.add(transition, forKey: nil)
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。