当我的键盘显示时,堆栈视图中的文本输入会增加。现在我想在这个堆栈视图后面添加一个模糊视图。
App已启动:
的数据
我试探着:
let blurEffect = UIBlurEffect(style: .prominent)
blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = view.bounds
view.addSubview(blurEffectView)
字符串
现在已经点击了文本输入:
的
我的文字输入模糊了
的
1条答案
按热度按时间9jyewag01#
你现在的代码是在视图控制器的视图层次结构中添加一个
UIVisualEffectView
。如果你想模糊除了文本视图之外的所有内容,你需要重新组织你的视图层次结构,这样你的文本视图就是你想模糊的视图的顶级子视图。然后,通过在文本视图的父视图上调用
insertSubview(_:belowSubview siblingSubview:)
,并将文本视图作为siblingSubview
传递,将UIVisualEffectView
添加到文本视图下。这样,
UIVisualEffectView
将覆盖文本视图的父视图的所有其他子视图,但保留文本视图。但是,现在,您的文本视图包含在两个不同的堆栈视图中,因此您没有一个父视图来包含您想要隐藏的所有其他内容。
如果您想模糊包含文本字段的整个堆栈视图,请在文本输入堆栈视图的父视图上调用
insertSubview(_:belowSubview siblingSubview:)
,并将文本输入堆栈视图作为siblingSubview
传递。