我想淡入淡出带有UIBlurEffect的UIVisualEffectsView:
var blurEffectView = UIVisualEffectView()
blurEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .dark))
我在由
UIButton
调用的函数中使用普通动画来使其淡入,这与淡出效果相同,但.alpha = 0
和hidden = true
:blurEffectView.hidden = false
UIView.animate(withDuration: 1, delay: 0, options: .curveEaseOut) {
self.blurEffectView.alpha = 1
}
现在,在两个方向上都可以进行淡入淡出,但是当将淡出时却给了我一个错误:
问题
如何成功地将
UIVisualEffectView
淡入和淡出,而又不破坏它和使淡入淡出呢?注意
UIVisualEffectView
放入UIView
并淡入那一个,但没有成功最佳答案
我认为这是iOS9中的新功能,但是您现在可以在动画块中设置UIVisualEffectView
的效果:
let overlay = UIVisualEffectView()
// Put it somewhere, give it a frame...
UIView.animate(withDuration: 0.5) {
overlay.effect = UIBlurEffect(style: .light)
}
将其设置为
nil
即可删除。非常重要-在模拟器上进行测试时,请确保将模拟器的“图形质量替代”设置为“高质量”,以使其正常工作。