Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS:带UIF效果的过渡动画?_Ios_Objective C_Animation_Uivisualeffectview - Fatal编程技术网

iOS:带UIF效果的过渡动画?

iOS:带UIF效果的过渡动画?,ios,objective-c,animation,uivisualeffectview,Ios,Objective C,Animation,Uivisualeffectview,我正在使用iOS 8中实现的UIBlurEffect轻松模糊屏幕。但是,我遇到了一个问题,因为我不知道如何将这种模糊效果制作成动画,而不是即时效果 我试着用这个,但没用: [UIView animateWithDuration:3 animations:^ { visualEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect]; visualEffectView.frame = self.view.f

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

我试着用这个,但没用:

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

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

您没有看到任何动画,因为您没有执行任何设置动画的操作。UIView动画依赖于使用现有视图的可设置动画的属性。您没有设置任何属性的动画:您只需调用
addSubview:

首先定义UIVisualEffectView()并定义其帧,然后可以设置blurView的动画效果:

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

UIView.animate(withDuration: 0.5) {
   blurView.effect = UIBlurEffect(style: .light)
}

那么我该如何使它动画化呢?我不知道你想要什么动画。“动画化”到底是什么意思?你对应该发生的事情有什么想法?从那个开始,然后设置动画。我只想让它淡出。让visualEffectView慢慢成为self的子视图。view“Fade”=
alpha
属性。不我的意思是,首先问问你自己,如果这不是一个模糊的视图,而是一个你想淡出的普通视图,你会怎么做。对不起。即使我在以前的项目中使用过它,我也没有想到这一点。非常感谢你的建议。虽然这段代码片段可能是解决方案,但包含解释确实有助于提高文章质量。请记住,您将在将来回答读者的问题,而这些人可能不知道您的代码建议的原因