【发布时间】:2016-12-07 13:24:43
【问题描述】:
我想在 ImageView 上应用层,稍微模糊它。 我在 imageView 之上放了一个视图,子类如下:
class BlurredView: UIView {
override func draw(_ rect: CGRect) {
self.backgroundColor = UIColor.clear
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.extraLight)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.backgroundColor = UIColor.clear
blurEffectView.frame = self.bounds
blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.addSubview(blurEffectView)
}
}
结果与我的预期完全不同。
如何自定义它以使这种模糊更轻,所以图片仍然显示一些细节?
【问题讨论】:
-
你试过改变模糊视图的 alpha 吗?
-
这样它是透明的,但似乎没有应用模糊效果
-
你无法真正自定义
UIVisualEffectView的效果。要获得您期望的模糊,您必须自己实现模糊。Core Image是应该对您有所帮助的搜索词。 -
我同意@dasdom - Core Image 有几个你可以使用的模糊滤镜。但首先尝试一件事 - 我看到你有 UIBlurEffectStyle.extraLight。尝试使用 .light 代替。信不信由你,这可能会给你更多你想要的东西。
-
还有一个建议 - 如果您要创建模糊效果的子类,请直接使用:子类 UIVisualEffectView。
标签: ios swift uiimageview uiblureffect