[英]Adding subview to a blurred view
if !UIAccessibilityIsReduceTransparencyEnabled() {
self.blurOutletTop.backgroundColor = UIColor.clear
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.dark)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = self.blurOutletTop.bounds
blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.view.addSubview(blurEffectView)
//self.logoOutlet.addSubview(blurEffectView)
}
else {
self.view.backgroundColor = UIColor.black
}
}
我在屏幕顶部附近有一个导航栏大小的 UIView。 上面的代码为其添加了模糊效果。 我想要做的是将我的导航按钮添加到视图的顶部,这样它们就不会模糊,但是仅通过故事板执行此操作会导致按钮也变得模糊。
我读到将按钮的出口作为子视图添加到 blurEffectView 会将按钮放在顶部,但是当我取消注释时
self.logoOutlet.addSubview(blurEffectView)
blurOutletTop 的位置被重新定位,按钮的背景被模糊但标签文本没有,并且按钮本身被重新定位。 我试过添加约束,但也没有帮助。
让我的按钮/图像覆盖在我的 blurTopOutlet 上的最简单方法是什么?
我在代码中对 UIVisualEffectView 进行了子类化,然后将各种控件作为子视图添加到其中。 很不错的效果。 由于视图层次结构的期望,不确定是否可以通过 IB 100% 完成。
添加编辑:您可以通过 IB 完成大部分工作。 设置所有内容,并且由于 UIButtons 是模糊视图的子视图,请尝试使用 becomeSubview(ToFront:)。 如果这有效,它可能会容易得多! (我是老派,更喜欢编码。)
将您不想模糊的按钮和其他视图添加到blurEffectView.contentView
:
blurEffectView.contentView.addSubview(someButton)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.