如何在黑色背景上实现纯黑色 UIVisualEffectView?

How to achieve pure black UIVisualEffectView when on top of black background?

在“信息”应用中,当滚动到底部时,iMessage 栏的背景在浅色模式下为纯白色,而在深色模式下为纯黑色,因此只有在下方有内容时您才会看到模糊的栏背景。 Twitter 应用程序中的顶部栏目前以相同的方式工作。我想在我的应用程序中执行此操作,但我不知道如何实现。

我已经尝试了所有可能的方法 UIBlurEffect 但其中 none 是黑色背景上的纯黑色,最深的灰色是 systemChromeMaterial。在灯光模式下,只有 regularlight 是纯白色。请注意从这些图像底部的堆栈下方窥视的纯 black/white 背景。

从上到下的顺序:

A similar question was asked about why the extra light blur effect is light gray over white backgrounds and how to make it pure white. This solution 致力于实现这一点,它也致力于在黑色背景之上实现纯黑色!这适用于常规、突出、额外的浅色、浅色和深色样式,但系统材质 none。我最终使用常规样式在明暗模式下工作。

if let vfxSubView = uiView.subviews.first(where: { String(describing: type(of: [=10=])) == "_UIVisualEffectSubview" }) {
    vfxSubView.backgroundColor = UIColor.black.withAlphaComponent(0.7)
}