我有三个观点:
灰色视图对"标题1"有一个顶部约束。和#34;标题2"对灰色视图有一个顶级约束。
我正在制作像这样的灰色视图:
CGRect rect = self.fruitSection.frame;
rect.size.height = 0;
[UIView animateWithDuration:0.3 animations:^{
[self.greySection setFrame:rect];
}];
这使它向上滑动。但是,当灰色视图滑动到高度= 0时,"标题1"下面的视图保持原样(并在" Header 1"" Header 2"灰色视图曾经是)之间留下空白。
我有没有办法制作" Header 2"当灰色视图坍塌时向上滑动?
谢谢!
更新
我试图动画约束而不是实际视图,如下所示:
[UIView animateWithDuration:0.5 animations:^{
self.greyHeightConstraint.constant = 0.0f;
}];
这是有效的,但视图没有动画;它"跳跃"而不是幻灯片
答案 0 :(得分:1)
我认为你混淆了#34; Header 1"和#34;标题2"在描述中,你应该做的是为greySection的高度约束设置动画而不是它的框架。
我猜greysection有一个恒定的高度约束,值为200。
你想为这个约束创建一个属性(我想是一个IBOutlet),并改变.constant属性。然后在动画块中调用[self.view layoutIfNeeded]。