如何找到比例常数的最终值

问题描述:

我有一个约束来设置视图的高度。如何找到比例常数的最终值

约束条件是比例高度约束。

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

要做什么的API?

我知道我可以手动找到它自己以及使用公式,但我并不想这样做,

比方说高度约束父视图的58%,它有10个定值,然后是什么通过限制分配给视图

+1

不清楚你问这里 – chirag90

+0

什么,我想知道通过propotional约束产生的限制已被更新后 –

+0

阅读相关视图的'frame'财产高度值。你需要重写'UIViewcontroller'的方法来捕捉我认为的时机。 –

总高度视图的高度将是:

0.58 * parentView.frame.height + 10 

没有建立parentView的高度,直到自动布局上运行,所以如果你是做这个计算,你会在覆盖的时候这样做。

由于您对自己的计算不感兴趣,因此您可以简单地读取自动布局应用约束条件后运行的替代viewDidLayoutSubviews中的视图的最终帧高度。

override func viewDidLayoutSubviews() { 
    super.viewDidLayoutSubviews() 

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

基本上我想更新一些用户界面约束...所以如果我这样做甚至...它会触发无尽的循环调用 –

+0

什么是你想更新的约束?也许有一种方法可以编写它,以便自动布局为您完成工作。 – vacawama

+0

基本上我有一个视图里面有多个视图...基于视图的可见性,父视图的大小将会决定。所以我想决定大小? –