我正在使用Swift 3和SnapKit为AutoLayout编程创建所有内容。
我希望有一个View对象,其中包含#个不同大小的视图(包括UILabel,因为可访问性而没有大小),并且在不适合时具有以下行为。
我以为可以手动完成此操作,但是如果我尝试在屏幕上显示视图之前获取子视图的宽度,则结果为0,直到不存在为止(viewDidAppear)。我可以得到父视图的宽度,但是没有子视图的大小可以进行重新排列。
该计划是将该组件添加到应用程序的不同位置,然后应几乎独立于ViewController。
我不明白Android的基本功能如何成为iOS的噩梦。也许我想念一些东西,但是...
谢谢大家
最佳答案
最终,我解决问题的方法是手动进行。对于我的情况而言,这不是最佳解决方案,但最“干净”。
我不想使用UICollectionView增加更多的复杂性,然后我应该配置,调整和适应屏幕上的其他灵活组件,因为基本组件看起来很详细,而不是大事。
我计算尺寸的主要问题是我在小组件内部使用标签,而标签的大小取决于内容和可访问性。
我的解决方案基本上使用MyCustomLabel.intrinsicContentSize来了解将来的大小并进行计算。我覆盖了该对象,因为我的标签使用了特殊尺寸。
关于ios - 内容不适合时的UIView多行[iOS],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51427102/