1

我正在使用 iOS 8 中实现的 UIBlurEffect 轻松模糊屏幕。但是,我遇到了一个问题,因为我不知道如何将这种模糊效果制作成动画而不是即时效果。

我尝试使用它,但它没有用:

[UIView animateWithDuration:3 animations:^
{
    visualEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
    visualEffectView.frame = self.view.frame;
    [self.view addSubview:visualEffectView];
}];

虽然它确实显示了效果,但它在 3 秒内没有动画。

4

2 回答 2

2

你没有看到任何动画,因为你没有任何动画。UIView 动画依赖于使用现有视图的动画属性。您没有为任何属性设置动画:您只是在调用addSubview:.

于 2014-10-29T18:05:54.783 回答
0

首先,您定义 UIVisualEffectView() 并定义其框架,然后您可以为 blurView 设置动画效果:

let blurView = UIVisualEffectView()
blurView.frame = self.view.bounds

UIView.animate(withDuration: 0.5) {
   blurView.effect = UIBlurEffect(style: .light)
}
于 2018-01-12T11:10:36.860 回答