【发布时间】:2015-09-26 17:57:33
【问题描述】:
我有三个这样的观点:
灰色视图对“Header 1”有一个顶部约束,“Header 2”对灰色视图有一个顶部约束。
我正在像这样为灰色视图设置动画:
CGRect rect = self.fruitSection.frame;
rect.size.height = 0;
[UIView animateWithDuration:0.3 animations:^{
[self.greySection setFrame:rect];
}];
这使它向上滑动。但是,当灰色视图滑动到 height=0 时,其下方的“Header 1”视图将保持原位(并在“Header 1”和“Header 2”之间留有灰色视图之前的空白)。
有没有办法让“Header 2”在灰色视图折叠时向上滑动?
谢谢!
更新
我尝试为约束设置动画,而不是像这样为实际视图设置动画:
[UIView animateWithDuration:0.5 animations:^{
self.greyHeightConstraint.constant = 0.0f;
}];
这可行,但视图没有动画;它“跳跃”而不是幻灯片
【问题讨论】:
-
我能想到的只是将
constant设置为1.0f的动画,然后在完成块中将constant设置为0.0f。我不确定设置为0.0f是否会触发停止动画的优化。 -
@RoboticCat 不幸的是,同样的行为,感谢您的建议
-
您是否阅读过这个问题(如何为约束更改设置动画?)它的答案是:stackoverflow.com/q/12622424/558933
标签: ios objective-c constraints