Ios 混合帧和自动布局

Ios 混合帧和自动布局,ios,autolayout,uikit,Ios,Autolayout,Uikit,TL;博士 如何从layoutSubviews()更新自身框架高度,并将新框架大小传播到自身外部的AutoLayout 我有一个组件(比如标签云),组件的高度根据宽度自动计算。为了获得更好的性能(在我的例子中代码更少),我使用框架手动进行定位和高度计算。组件外部是使用UITableViewCell中的AutoLayout放置的 我不知道如何更新内在内容大小,以便在UITableViewCell布局中正确反映这一点。当我在layoutSubview()中计算高度(=设置并使固有大小无效)时,似乎为

TL;博士

如何从layoutSubviews()更新自身框架高度,并将新框架大小传播到自身外部的AutoLayout

我有一个组件(比如标签云),组件的高度根据宽度自动计算。为了获得更好的性能(在我的例子中代码更少),我使用框架手动进行定位和高度计算。组件外部是使用UITableViewCell中的AutoLayout放置的

我不知道如何更新内在内容大小,以便在UITableViewCell布局中正确反映这一点。当我在layoutSubview()中计算高度(=设置并使固有大小无效)时,似乎为时已晚。我在下一个渲染周期看到一个结果

组件数据(表示高度)可以随时动态更改。我认为没有嵌入UITableView,一切都很好


我做错了什么?

“我在下一个渲染周期看到一个结果”在更改之前和之后调用
super
。@matt这没有帮助。基本上,我在super.layoutSubviews()之前设置了新的帧大小,它在组件的上下文中工作。但它不会更新超级视图的布局。看起来还不够。如果我调用invalidateIntrinsicContentSize(),它显然会给我一个无限循环。是的,我记得有一个WWDC讨论过这类问题@马特,你能告诉我到底是哪种说法吗?我会看的。谢谢