[英]How to adjust the parent view's height according to its subviews using auto layout?
[英]How to set stack view height according to its subviews height?
我需要滚动六种不同类型的视图,每个视图具有不同的大小,视图之一是:关于我。 在“关于我”中,我必须显示标题(即“关于我”)及其下方的文本,标签高度应根据文本高度而定。
到现在为止,我将此要求设计为:
根视图-堆栈视图*具有固定高度的项目1 *具有固定高度的项目2 * UIView与我有关:-标签为标题-标签为文本,最大行数设置为0,宽度等于容器宽度。
问题是:我无法设置大约UIView的固定高度,并且不会根据标签文本调整大小。 请提出适当的解决方案。
嗨,您可以像这样获取stackView的固有高度:
let size = stackView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize)
我知道我有点迟才回复此消息。 但是我遇到了同样的问题,并且发现了这段代码。 以为任何人寻找这个可能有用:)
我认为您没有明确声明问题。 我要指出的第一件事是UIStackView
可以通过其排列的子视图的大小来推断其大小。 但是,您必须首先确认添加到子视图的约束是正确的。 因此,如果您没有获得想要的调整大小效果,那么您肯定会丢失一些东西。 也许您没有做出合理的约束。
为了澄清您的情况,最好将一些有关约束的屏幕截图添加到“关于我”视图中。 顺便说一句, UIStackView
的轴是UIStackView
?
我都不知道这些。 因此,我必须为我做一些假设,以进一步说明您的问题。
UIStackView
的轴为UILayoutConstraintAxisVertical
。 UIStackView
(或您所有的内容)具有固定的宽度。 在上述条件下,定义其高度由其文本决定的观点将很简单。 因为UILabel
不必具有固定的大小。 您只需要指定其宽度(或指定其前导和尾随其超级视图),它的高度将根据其字体和内容自动计算。
您的关于我的视图有两个标签,因此您应该
确保这些事情:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.