我想模糊整个屏幕,除了一个堆栈视图

问题描述 投票:0回答:1

当我的键盘显示时,堆栈视图中的文本输入会上升。现在我想在这个堆栈视图后面添加一个模糊视图。

应用程序已启动:

app has been start

我尝试过:

let blurEffect = UIBlurEffect(style: .prominent)
blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = view.bounds 
view.addSubview(blurEffectView)

现在已点击文本输入:

Now textinputs has been clicked.

我的文字输入模糊

scene tree

swift uikit blur uistackview
1个回答
0
投票

如果您想模糊除文本视图之外的所有内容,则需要重新组织视图层次结构,以便文本视图成为要模糊的视图的顶级子视图。

然后,您可以通过在文本视图的父视图上调用

UIVisualEffectView
并将文本视图作为
insertSubview(_:belowSubview siblingSubview:)
传递,将
siblingSubview
添加到文本视图下。

这样,

UIVisualEffectView
将覆盖文本视图父视图的所有其他子视图,但不隐藏文本视图。

但是现在,您的文本视图包含在 2 个不同的堆栈视图中,因此您没有一个父视图来包含您想要隐藏的所有其他内容。

© www.soinside.com 2019 - 2024. All rights reserved.