带有 .OverCurrentContext 的 UIViewController 与 .CrossDissolve 不透明

UIViewController presented with .OverCurrentContext is opaque with .CrossDissolve

我正在尝试获得熟悉的 "translucent overlay" 效果。我正在使用 .OverCurrentContext 演示样式,并且所呈现的 VC 具有 0.5 alpha 的视图,在情节提要中设置。

当我使用 .CoverVertical 的(默认)过渡时,一切都很好。当我使用 .CrossDissolve(这是我想要的)时,呈现的视图是不透明的。当我检查呈现视图的 alpha 时,它不知何故变成了 1。为什么?我应该在哪里调解以防止这种情况发生?

let vc = self.storyboard!.instantiateViewControllerWithIdentifier("Overlay")!
vc.modalPresentationStyle = .OverCurrentContext
vc.modalTransitionStyle = .CrossDissolve
self.presentViewController(vc, animated:true, completion:nil)

Where do I intercede to prevent this?

你在整个动画中说情。你将不得不为你的视图控制器演示做一个自定义的过渡动画,因为你想做的事情没有被四五个标准动画中的任何一个所涵盖。