我使用iOS 8中实现的UIBlurEffect来轻松模糊屏幕。但是,我遇到了一个问题,因为我无法弄清楚如何将这种模糊效果变成动画而不是即时效果。
我尝试使用它,但它没有工作:
[UIView animateWithDuration:3 animations:^
{
visualEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
visualEffectView.frame = self.view.frame;
[self.view addSubview:visualEffectView];
}];
虽然它确实显示了效果,但它在3秒内没有动画效果。
答案 0 :(得分:2)
您没有看到任何动画,因为您没有做任何动画效果。 UIView动画依赖于使用现有视图的可动画属性。您没有动画任何属性:您只是在调用addSubview:
。
答案 1 :(得分:0)
首先,您要定义UIVisualEffectView()并定义其框架,然后您可以使用效果为blurView设置动画:
let blurView = UIVisualEffectView()
blurView.frame = self.view.bounds
UIView.animate(withDuration: 0.5) {
blurView.effect = UIBlurEffect(style: .light)
}