【发布时间】:2015-04-06 06:51:04
【问题描述】:
我有一个带有两个子视图 viewA 和 viewB 的 ViewP。 viewA 始终存在,但 viewB 在某些情况下应该看不到。 所有这些视图都是从 xib 加载的。
我的问题是,如何根据 viewA 的高度 + ViewB 的高度来更新 viewP 的高度。如果 ViewB 是隐藏的,如何通过几个简单的代码来更新 viewP 的高度,而不是通过硬代码来更新框架。
首先,我只是将 viewB 设置为隐藏。但是viewP不能更新自己。
我已经搜索过了,得到了一种方法来调整视图的两个高度约束的优先级。一个高度为 0,另一个高度为 46,但是当我通过代码更改它们的优先级时。看起来它不适合我。
【问题讨论】:
-
你熟悉 AutoLayout 吗?
-
@Azat,不多说了,开始用吧
-
我可以在 XIB 文件中进行更改(如隐藏或显示),但我只想通过代码进行更改,因为有几种不同的条件。
-
您只需正确设置约束并将
IBOutlet连接到其中一个(我猜是您的视图的高度),以便能够从代码中更改其值 -
@Azat 我已经这样做了,我连接了两个约束 IBOutlet 属性,因为在隐藏的情况下,我只希望 0-heigh 约束会生效;在展示的情况下,我只希望 46 高的约束会起作用。所以我在代码中更改了它们的优先级,在 250、750 值之间切换。对我不起作用。
标签: ios constraints