9

我正在使用此代码在我的视图中创建模糊效果:

let blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light))
blur.frame = CGRectMake(180, 10, 200, 750)
myView.addSubview(blur)

有什么方法可以调整产生模糊的高斯函数以实现不同程度的“失焦”效果?

4

2 回答 2

2

实际的半径UIBlurEffect无法更改,但有一种解决方法。

更改 , 的alpha组件UIVisualEffectView将产生微妙的模糊效果。

let blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light))
blur.frame = CGRectMake(180, 10, 200, 750)
blur.alpha = 0.4
myView.addSubview(blur)

斯威夫特 3

let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.extraLight)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.alpha = 0.4
blurEffectView.frame = self.bounds
self.addSubview(blurEffectView)
于 2016-11-24T08:15:03.320 回答
1

由于 中没有其他参数UIBlurEffect,我认为唯一的方法是使用 CIFilter 预设CIGaussianBlur对背景 View 进行模糊处理,并使用其键inputRadius来调整级别。
如果你想达到所谓的light//一样的效果darkExtraLight你可以把这个过滤器和其他过滤器组合起来。

于 2015-02-05T11:44:00.510 回答