我在扩展和签约UIEffectView时遇到了问题。它可以很好地扩展,但是当它收缩时它立即捕捉到它的最终高度并滑入到位,在其尾迹中留下微弱的活力效果。下面是一个GIF来说明这个问题。 http://i.imgur.com/Lh8q7m1.gif
这在新的空白项目设置中会发生,如下所示:
这是动画代码:
- (IBAction)toggleEffects:(id)sender {
[self.view setNeedsLayout];
if(self._effectsHeight.constant == 50){
self._effectsHeight.constant = 500;
}else{
self._effectsHeight.constant = 50;
}
[UIView animateWithDuration:1.5f
animations:^{
[self.view layoutIfNeeded];
}];
}
答案 0 :(得分:2)
我认为您必须在动画块中设置调整大小代码。尝试这样:
[UIView animateWithDuration:1.5f
animations:^{
if(self._effectsHeight.constant == 50){
self._effectsHeight.constant = 500;
}else{
self._effectsHeight.constant = 50;
}
}];