我在superview上有两个根视图。
我从代码中添加的所有视图和约束。顶视图有H:| -0- [view] -0- |。相同的vfl代码有底视图。接下来,顶视图从顶部到顶部,从第二个视图的底部到顶部,第二个底部连接到底部。代码是V:| -0- [topView] -0- [secondView] -0- |。
第二个视图具有固有高度,因此两个视图的高度取决于此值。当我改变底部视图高度和动画layoutIfNeed时,一切正常。 接下来,底部视图有一些子视图。底部是简单的视图 - 容器,顶部是按钮。它们都连接到左/右,如H:| -0- [view] -0- |。底视图也具有固有高度,因此垂直连接就像外部视图一样,没有(!)将按钮连接到superview顶部(V:[button] -0- [secondView] -0- |)。第二个视图从下到下是附加的,但是当我动画改变这个容器的高度时,它的子视图在iOS 8上排名第一。
查看层次结构
约束:
H:|-0-[topView]-0-|
H:|-0-[bottomView]-0-|
V:|-0-[topView]-0-[bottomView(110)]-0-|
H:|-0-[buttonBackCamera]-0-|
H:|-0-[grayView]-0-|
V:[buttonBackCamera]-0-[grayView(85)]-0-| //here is constraint, that MUST attach grayView to bottom.
调试时,我注意到,该约束是附加的,活动的,它必须有效,但是:(。
对此有何想法?
更新
我已经在iOS 8.3上检查了这一点,一切正常。
答案 0 :(得分:0)
确保底部视图包含从“前导”到“超级视图”,“跟踪到超级视图”和“从下到下”指南的约束。 如果你仍然面临任何问题,那就去吧,
-(void)viewWillLayoutSubviews
{
[self.view layoutIfneeded];
}
答案 1 :(得分:0)
我认为我没有完全解决问题,但我建议您检查所选的大小类和每个已启用约束的大小等级。