为什么我的模态呈现的UIVisualEffect视图是以深灰色完成的?

时间:2015-07-14 05:46:24

标签: swift uivisualeffectview xcode6.4

我正在尝试在我的模态呈现的视图上使用UIVisualEffectView,它将为用户登录。我真的不知道UIVisualEffectView会发生什么。当模态动画出现时,它工作正常。但是,当动画已经完成了,效果变成了深灰色,对此有什么帮助吗?我坚持了很长时间。

My Simulator,Also happen on iPhone

My Storyboard

请帮助?

以下是我的源代码Download

3 个答案:

答案 0 :(得分:5)

一旦模态覆盖它们,底层视图将消失。为防止这种情况发生,您需要将模态视图控制器的UIModalPresentationStyle设置为OverCurrentContext

ModalVC.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext

答案 1 :(得分:1)

上面的答案是正确的,但在我的情况下,我的视图控制器嵌入在导航控制器中,所以它没有工作。这样做:

vc.navigationController?.modalPresentationStyle = .overCurrentContext

答案 2 :(得分:0)

我认为问题在于你没有以模态方式呈现你的UIVisualEffectsView,而是视图控制器,所以你看到的灰色是右视图控制器的背景颜色。您可以将其更改为与左边相同的渐变,看看是否有效,或者您需要在第一个viewcontroller上显示您的UIVisualEffectsView。