【发布时间】:2018-08-20 16:07:22
【问题描述】:
【问题讨论】:
-
如果 dup 链接中的解释没有帮助,请考虑使用 CoreImage。您不仅可以更好地控制模糊效果,而且还有八种不同的效果。
标签: ios swift uivisualeffectview uiblureffect
【问题讨论】:
标签: ios swift uivisualeffectview uiblureffect
我们完全可以使用动画师以正确的预期外观完全原生地做到这一点
用法:
let blurEffectView = BlurEffectView()
view.addSubview(blurEffectView)
BlurEffectView 实现:
class BlurEffectView: UIVisualEffectView {
var animator = UIViewPropertyAnimator(duration: 1, curve: .linear)
override func didMoveToSuperview() {
guard let superview = superview else { return }
backgroundColor = .clear
frame = superview.bounds //Or setup constraints instead
setupBlur()
}
private func setupBlur() {
animator.stopAnimation(true)
effect = nil
animator.addAnimations { [weak self] in
self?.effect = UIBlurEffect(style: .dark)
}
animator.fractionComplete = 0.1 //This is your blur intensity in range 0 - 1
}
deinit {
animator.stopAnimation(true)
}
}
【讨论】:
【讨论】:
我知道这已经很晚了,但是如果您只是使用模糊进行模态演示,Apple 有一个名为 blurOverFullScreen 的内置 UIModalPresentationStyle,它工作得很好。
只需将父控制器的 modalPresentationStyle 设置为 .blurOverFullScreen 并呈现新的视图控制器。如果新视图小于屏幕,则背景应该像您的图片一样模糊。
【讨论】: