在iOS 8中调整模糊效果的硬度

Chr*_*ian 6 iphone blur swift ios8

我在iOS 8的图像视图中使用模糊效果,我想知道是否可以告诉swift模糊效果应该有多强.

这是代码..

    var blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark)
    var visualEffectView = UIVisualEffectView(effect: blurEffect) as UIVisualEffectView
    visualEffectView.frame = imageView.bounds

    imageView.addSubview(visualEffectView)
Run Code Online (Sandbox Code Playgroud)

Phi*_*ine 0

现在不可能这样做,您可以更改模糊视图本身的 Alpha 级别,但这会向您发出有关图形错误的警告,并且可能并不总是完美工作。

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIVisualEffectView/

设置正确的 Alpha 值

使用 UIVisualEffectView 类时,请避免 alpha 值小于 1。创建部分透明的视图会导致系统在离屏渲染过程中组合视图和所有关联的子视图。UIVisualEffectView 对象需要组合为它们分层的内容的一部分,以便看起来正确。在视觉效果视图或其任何超级视图上将 Alpha 设置为小于 1 会导致许多效果看起来不正确或根本不显示。

我所知道的最好的解决方案是使用类似FxBlurView 的东西,您可以在其中更改“blurRadius”以获得您所请求的效果。似乎没有什么比苹果的实现更好的性能了,但是只要您不打算在制作动画时操纵模糊视图的边界,第三方库就足够了。