【发布时间】:2015-06-26 09:09:53
【问题描述】:
在问这个问题之前,我花了很多时间阅读其他问题,但还没有设法解决这个问题——希望有人能提供帮助。
我有一个自定义警报视图,一个 UIView 子类。我试图让它进入一个宽度固定的状态,它的高度根据它的两个标签(title和message)的高度动态增长,并且可以设置动态数量的操作按钮跟上。
我使用 AutoLayout 来设置控件,效果很好,但现在我仍然在其初始化程序中手动设置视图本身的框架。
我需要做的是让视图的高度由我的两个标签和 n 个按钮的高度加上它们之间的间距来计算。
我尝试为我的视图提供intrinsicContentSize,但该方法从未被调用,甚至不要求它,所以我不知道如何继续。
总结一下:我可能需要 iOS9 的 UIStackView,但我没有那么奢侈,所以我需要在 iOS 7 / 8 中加入类似的东西。我看过 OAStackView,但我不想使用外部依赖。
【问题讨论】:
-
您可以尝试为视图创建一个高度限制的出口,然后根据标签的高度管理
heightContraint.constant。 -
何时更新约束?我不确定这些标签的高度是什么时候计算出来的。
-
尝试在viewDidLayoutSubViews中设置
标签: ios uiview autolayout