我在为 VisualEffetView 设置动画时遇到问题。这是我声明它的代码。
UIBlurEffect* blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
effectView = [[UIVisualEffectView alloc] initWithEffect:blur];
effectView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
effectView.frame = self.bounds;
self.layer.borderWidth = 1;
[self addSubview:effectView];
当我为超级视图设置动画以使其增长时,视觉效果会跟随超级视图的动画,但是当我想缩小它时,视觉效果会立即消失,使结果非常难看^^这是我为超级视图设置动画的代码(这里叫recherche)
[UIView animateWithDuration:0.3f
delay:0.0f
options:UIViewAnimationOptionTransitionNone
animations:^{
CGRect f = recherche.frame;
f.size.height = 0;
[recherche setFrame:f];
}
completion:^(BOOL finished){
[recherche removeFromSuperview];
recherche = nil;
}];
当我让recherche消失时,这就是我所拥有的。白色方块似乎是效果视图,因为如果我更改 UIBlurEffectStyle,颜色会发生变化。但模糊效果缺失 x)