Dan*_*row 7 uiviewanimation ios uivisualeffectview
目前,我正在使用UIVisualEffectView将模糊应用于图像.
我有一个UIScrollView.当我下拉scrollView时,在我的"scrollViewDidScroll"方法中,我正在更改UIVisualEffectView的alpha.当前的行为是当我在视图中拖动时,模糊半径平滑变化.
问题是,当然,我不应该这样做.获取有关更改UIVisualEffectView的Alpha值的警告.
我见过人们说使用动画进行模糊的平滑过渡,如下所示:如何淡入和淡出UIVisualEffectView和/或UIBlurEffect?
但是,我没有看到任何允许我在此期间执行此操作的内容,例如泛手势或其他内容.我的意思是,如果我设置一个定时量的动画,那一切都很好.但是在拖延期间这样做?
有一种方法 :)
正如您所注意到的,您可以将nil效果从效果设置为效果UIBlurEffectStyleDark,如果我们添加动画然后暂停图层的动画,我们可以通过调整图层来控制效果的进度timeOffset!
- (void) setupBlur {
// Setup the blur to start with no effect
self.blurredEffectView = [[UIVisualEffectView alloc] initWithEffect:nil];
// Add animation to desired blur effect
[UIView animateWithDuration:1.0 animations:^{
[self.blurredEffectView setEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]];
}];
// Pause layer animations
self.blurredEffectView.layer.speed = 0;
}
Run Code Online (Sandbox Code Playgroud)
调整0.0到1.0之间的模糊(动画持续时间):
- (void) adjustBlur:(CGFloat)blurIntensity {
self.blurredEffectView.layer.timeOffset = blurIntensity;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
545 次 |
| 最近记录: |