如何找到比例约束的最终值

时间:2017-09-12 09:51:42

标签: ios nslayoutconstraint ios-autolayout

我有一个约束来设置视图的高度。

约束是比例高度约束。

我想使用约束来计算高度,我想知道什么是视图高度。

这样做的任何API?

我知道我也可以自己手动找到它,但是我不想这样做

让我们说高度约束为父视图的58%,它的常数值为10,那么约束为视图分配的总高度是什么

1 个答案:

答案 0 :(得分:2)

视图的高度为:

0.58 * parentView.frame.height + 10

在自动布局运行之前,不会建立parentView的高度,因此,如果您要进行此计算,则可以覆盖viewDidLayoutSubviews

由于您不想自己计算,因此您可以在自动布局应用约束后运行的viewDidLayoutSubviews覆盖中简单地读取视图的最终帧高。

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    // read final view size here
    print(myView.frame.height)
}