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

7

我正在iOS 8上的图像视图上使用模糊效果,想知道是否可以告诉Swift模糊效果的强度。

以下是代码...

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

    imageView.addSubview(visualEffectView)
1个回答

0

目前还无法这样做,您可以更改模糊视图本身的 alpha 级别,但这会导致出现有关图形错误的警告,并且可能不总是完美地工作。

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

设置正确的 Alpha 值
使用 UIVisualEffectView 类时,避免使用小于 1 的 alpha 值。创建部分透明的视图会导致系统在离屏渲染期间合并视图和所有相关的子视图。UIVisualEffectView 对象需要与它们所覆盖的内容一起组合才能呈现正确的效果。将可视化效果视图或任何其父视图的 alpha 设置为小于 1 会导致许多效果看起来不正确或根本不显示。
我知道的最好的解决方案是使用类似 FxBlurView 的东西,其中您可以更改所请求的效果的 "blurRadius"。从性能上来说,似乎没有比苹果的实现更好的东西,但第三方库足以满足要求,只要您不打算在动画过程中操作模糊视图的边界。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接