作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想知道如何设置 iOS 新 UIBlurEffectStyle.Light
的半径/模糊因子?我在文档中找不到任何内容。但我希望它看起来类似于经典的 UIImage+ImageEffects.h
模糊效果。
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
let blur = UIBlurEffect(style: UIBlurEffectStyle.Light)
let effectView = UIVisualEffectView(effect: blur)
effectView.frame = frame
addSubview(effectView)
}
最佳答案
改变 alpha 并不是一个完美的解决方案。它不影响模糊强度。您可以设置从 nil
到目标模糊效果的动画,并手动设置时间偏移以获得所需的模糊强度。不幸的是,当应用程序从后台返回时,iOS 将重置动画偏移量。
谢天谢地,有一个适用于 iOS >= 10 的简单解决方案。您可以使用 UIViewPropertyAnimator
。我没有注意到使用它有任何问题。当应用程序从后台返回时,我保持自定义模糊强度。以下是您可以如何实现它:
class CustomIntensityVisualEffectView: UIVisualEffectView {
/// Create visual effect view with given effect and its intensity
///
/// - Parameters:
/// - effect: visual effect, eg UIBlurEffect(style: .dark)
/// - intensity: custom intensity from 0.0 (no effect) to 1.0 (full effect) using linear scale
init(effect: UIVisualEffect, intensity: CGFloat) {
super.init(effect: nil)
animator = UIViewPropertyAnimator(duration: 1, curve: .linear) { [unowned self] in self.effect = effect }
animator.fractionComplete = intensity
}
required init?(coder aDecoder: NSCoder) {
fatalError()
}
// MARK: Private
private var animator: UIViewPropertyAnimator!
}
我还创建了一个要点:https://gist.github.com/darrarski/29a2a4515508e385c90b3ffe6f975df7
关于swift - 如何设置 UIBlurEffectStyle.Light 的 BlurRadius,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25529500/
我在 Storyboard上有一个视觉效果 View 作为导出连接到我的 ViewController。效果是在它后面打上一个 ImageView 并且效果很好。我正在尝试在单击 IBAction 的
我想知道如何设置 iOS 新 UIBlurEffectStyle.Light 的半径/模糊因子?我在文档中找不到任何内容。但我希望它看起来类似于经典的 UIImage+ImageEffects.h 模
我是一名优秀的程序员,十分优秀!