如何让 UIVisualEffectView 模糊而不全屏/当前上下文?

How to get UIVisualEffectView to blur without going OVER full screen / current context?

我有一个 SpriteKit 游戏,我只想模糊屏幕的一部分(玩游戏的棋盘)。但与此同时,我希望能够与屏幕上的其他元素(如 UIButtons)进行交互。所以基本上我正在寻找类似表单 sheet 的东西,但它会模糊它下面的内容并允许与主视图控制器进行交互。

这就是我的问题。我试过:

  1. UIVisualEffectView 放在我的主视图控制器上,
  2. 使用其中一种标准呈现样式以模态方式呈现另一个视图控制器,并在其中包含 UIVisualEffectView,或者
  3. 在全屏/当前上下文中以模态方式呈现另一个视图控制器,并在其中包含 UIVisualEffectView

None 这些选项对我有用。

有人知道我还能尝试什么吗?还是我没有正确使用某些东西?

不幸的是,UIVisualEffectView 不能很好地与 SpriteKit 配合使用,即使在使用 SKView 时也是如此。我已经尝试了从 A 到 zPositions 的所有方法。

我决定在新的视图控制器中重新创建我的 UIButtons 并以 OFS 模式呈现它。这样我就可以访问漂亮的 UIVisualEffectView 模糊(SKEffectNode 模糊在我看来一点也不漂亮)和我的按钮。我希望 Apple 能够在 iOS 和 Swift 的未来版本中发挥其框架的协同作用。话又说回来,在应用程序开发方面,我并不是专家,所以如果还有什么我可以做的,我很想听听:-)​​