【发布时间】:2015-05-11 10:29:05
【问题描述】:
我在 superview 上有两个根视图。
我从代码中添加的所有视图和约束。顶视图有 H:|-0-[view]-0-|。相同的 vfl 代码有底视图。接下来,俯视图从上到上,从下到上第二个视图,第二个底部到底部。代码是V:|-0-[topView]-0-[secondView]-0-|。
第二个视图具有固有高度,因此两个视图的高度取决于此值。当我更改底视图高度和动画 layoutIfNeed 对我来说一切正常。 接下来,底视图有一些子视图。底部是简单的视图容器,顶部是按钮。它们都连接到左/右,如 H:|-0-[view]-0-|。底部视图也具有固有高度,因此它们像外部视图一样垂直连接,没有(!)将按钮附加到超级视图的顶部(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 上检查过,一切正常。
【问题讨论】:
-
您的 cmets 中的
secondView是什么?那是您图表中的底部视图吗?并且是 secondView / bottom view 的按钮子视图,还是它们处于同一级别?您在控制台中看到任何约束警告吗? -
控制台中没有任何警告
-
您可能应该使用该层次结构更新您的问题并提及您在那里的限制,目前有点难以理解
-
您是否将
translatesAutoresizingMaskIntoConstraints设置为NO?否则,自动调整大小的蒙版将创建额外的约束。您是使用frame还是通过更改constant上的constraint来设置高度动画?
标签: ios objective-c autolayout