如何找到比例约束的最终值
Posted
技术标签:
【中文标题】如何找到比例约束的最终值【英文标题】:How to find final value of proportional constraint 【发布时间】:2017-09-12 09:51:41 【问题描述】:我有一个限制来设置视图的高度。
约束是比例高度约束。
我想使用我想知道视图高度的约束来计算高度。
有什么 API 可以做到这一点吗?
我知道我也可以使用公式自己手动找到它,但我不想这样做
假设高度约束是父视图的 58%,它的常量值为 10,那么约束分配给视图的总高度是多少
【问题讨论】:
不清楚你在这里问什么 我想知道比例约束产生的高度值 在约束更新后读取相关视图的frame
属性。你需要重写 UIViewcontroller
的方法来捕捉我认为的时间。
哦好吧..我应该在哪里覆盖?
【参考方案1】:
视图的高度将为:
0.58 * parentView.frame.height + 10
在自动布局运行之前,父视图的高度不会建立,因此如果您要进行此计算,您将在 viewDidLayoutSubviews
的覆盖中进行。
由于您对自己计算不感兴趣,您可以在自动布局应用约束后运行的 viewDidLayoutSubviews
覆盖中简单地读取视图的最终帧高度。
override func viewDidLayoutSubviews()
super.viewDidLayoutSubviews()
// read final view size here
print(myView.frame.height)
【讨论】:
基本上我想更新一些 UI 约束......所以如果我这样做......它会触发无休止的循环调用 您要更新的约束是什么?也许有一种方法可以编写它,以便自动布局为您完成工作。 基本上我有一个内部有多个视图的视图...根据父视图大小内部视图的可见性来决定。所以我想决定尺寸?以上是关于如何找到比例约束的最终值的主要内容,如果未能解决你的问题,请参考以下文章