为什么我的 Modally Presented UIVisualEffect View 是深灰色的?

Why my Modally Presented UIVisualEffect View is done in dark grey?

我正在尝试在我的模态呈现视图上使用 UIVisualEffectView,该视图将登录视图 user.I 真的不知道发生了什么 UIVisualEffectView.When 模态动画出现,它工作 fine.But,当动画完成后,效果变成深灰色,有什么帮助吗?我坚持了太久了。

请帮忙?

这是我的源代码,Download

我认为问题在于您不是以模态方式呈现 UIVisualEffectsView,而是以视图控制器的方式呈现,因此您看到的灰色是右侧视图控制器的背景色。您可以将其更改为与左侧相同的渐变,看看是否可行,或者您需要在第一个 viewcontroller.

上显示 UIVisualEffectsView

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

ModalVC.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext

上面的答案是正确的,但在我的例子中,我的视图控制器嵌入在导航控制器中,所以它不起作用。这样做:

vc.navigationController?.modalPresentationStyle = .overCurrentContext