如何获得根据标签内容动态变化的 UIView 的高度 - Swift
Posted
技术标签:
【中文标题】如何获得根据标签内容动态变化的 UIView 的高度 - Swift【英文标题】:How do I get the height of a UIView that dynamically changes based on label content - Swift 【发布时间】:2020-07-26 18:52:44 【问题描述】:我有一个 UIView,它根据里面标签的内容改变高度。我需要使用视图的高度来设置preferredContentSize()
,但是当我使用myView.frame.size.height
或myView.bounds.height
时,它会获得原始高度,而不是带有更新标签的新高度。在viewDidLoad()
的拳头上,我在设置标签之前得到了高度,所以我认为这是问题所在,但即使在我移动它之后,它仍然没有得到更新的高度。关于标签更新后如何获取高度的任何想法?
【问题讨论】:
【参考方案1】:UILabels 将具有intrinsicContentSize,因此如果您使用自动布局在视图中布局您的UILabel,您应该能够使用myView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize)
来获得视图的最佳大小。
https://developer.apple.com/documentation/uikit/uiview/1622624-systemlayoutsizefitting
另请参阅:https://***.com/a/55482896/6416739 以了解使用 systemLayoutSizeFitting
和 UILabel 的示例
【讨论】:
以上是关于如何获得根据标签内容动态变化的 UIView 的高度 - Swift的主要内容,如果未能解决你的问题,请参考以下文章