背景
我正在制作一个垂直标签,以与传统的蒙古文字一起使用。在我刚开始轮换使用之前,UILabel但存在一些性能问题和其他复杂性。现在,我正在从头开始制作标签。但是,我需要垂直标签来告诉自动布局何时调整其高度(基于字符串长度)。
UILabel
我读过的
我阅读了“ 固有内容大小”和“ 具有固有内容大小的视图”文档。但是,这些更多是关于如何使用它的,而不是如何在自定义视图中定义它的。
搜索“用于自定义视图的ios内部内容大小”只会给我
在堆栈溢出中。这个特定问题甚至不需要内部内容大小,因为它们的视图只是标准视图的集合。
我在想什么
我正在尝试的是下面的答案。我添加了这个问答对,这样其他人就不会花很长时间就能找到答案,就像我使用搜索关键字所花的时间一样。
设置自定义视图的固有内容大小可以使自动布局知道该视图的大小。为了进行设置,您需要覆盖intrinsicContentSize。
intrinsicContentSize
override var intrinsicContentSize: CGSize { return CGSize(width: x, height: y) }
然后打电话
invalidateIntrinsicContentSize()
每当您的自定义视图的固有内容大小发生更改并且应该更新框架时。
笔记