我正在尝试在我的模态呈现视图上使用 UIVisualEffectView,该视图将为用户登录视图。我真的不知道 UIVisualEffectView 发生了什么。当模态动画出现时,它工作正常。但是,当动画完成时,效果变成深灰色,有什么帮助吗?我坚持太久了。
请帮忙?
这是我的源代码,下载
我正在尝试在我的模态呈现视图上使用 UIVisualEffectView,该视图将为用户登录视图。我真的不知道 UIVisualEffectView 发生了什么。当模态动画出现时,它工作正常。但是,当动画完成时,效果变成深灰色,有什么帮助吗?我坚持太久了。
请帮忙?
这是我的源代码,下载
一旦模态覆盖底层视图,它们就会消失。为了防止这种情况发生,您需要将UIModalPresentationStyle
模态视图控制器的设置为OverCurrentContext
:
ModalVC.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext
上面的答案是正确的,但在我的情况下,我的视图控制器嵌入在导航控制器中,所以它不起作用。这样做:
vc.navigationController?.modalPresentationStyle = .overCurrentContext
我认为问题在于您不是以模态方式呈现 UIVisualEffectsView,而是呈现视图控制器,因此您看到的灰色是正确视图控制器的背景颜色。您可以将其更改为与左侧相同的渐变,看看是否有效,或者您需要在您的第一个视图控制器上显示您的 UIVisualEffectsView。