Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIView多行,当内容不可用时';不适合_Ios_Swift_Uiview_Multiline_Programmatically - Fatal编程技术网

Ios UIView多行,当内容不可用时';不适合

Ios UIView多行,当内容不可用时';不适合,ios,swift,uiview,multiline,programmatically,Ios,Swift,Uiview,Multiline,Programmatically,我用Swift 3和SnapKit以编程方式创建所有自动布局 我希望有一个视图对象,它包含#数量不同大小的视图(包括UILabels,由于可访问性而没有大小),并且在不适合时具有以下行为 我想用手这样做,但如果我在屏幕上显示视图之前尝试获得子视图的宽度,结果是0,直到不存在(ViewDidDisplay)。我可以得到superview的宽度,但是如果没有子视图的大小,重新排列就无济于事了 计划是将该组件添加到应用程序上的不同位置,然后应该几乎独立于ViewController 我不明白安卓系统

我用Swift 3和SnapKit以编程方式创建所有自动布局

我希望有一个视图对象,它包含#数量不同大小的视图(包括UILabels,由于可访问性而没有大小),并且在不适合时具有以下行为

我想用手这样做,但如果我在屏幕上显示视图之前尝试获得子视图的宽度,结果是0,直到不存在(ViewDidDisplay)。我可以得到superview的宽度,但是如果没有子视图的大小,重新排列就无济于事了

计划是将该组件添加到应用程序上的不同位置,然后应该几乎独立于ViewController

我不明白安卓系统的基本功能在iOS系统中是如何变成噩梦的。也许我错过了什么,但是


谢谢大家。

最后,我解决问题的方法是手动操作。这不是最好的解决方案,但对我的场景来说是最“干净”的。 我不想用UICollectionView增加更多的复杂性,然后我应该配置、调整并适应屏幕上其他灵活的组件,因为基本组件只是一个细节,而不是一件大事

我计算大小的主要问题是,我在小组件中使用标签,这些标签根据内容和可访问性具有特定的大小


我的解决方案基本上使用MyCustomLabel.intrinsicContentSize来了解未来的大小并进行计算。我重写这个对象,因为我的标签使用了特殊的大小。

你是否考虑过使用CopyVIEW视图?这是一个具有默认流布局的标准UICHOLLITCHVIEW。据我所知,UICLoDeConnVIEW视图应该像一个表那样由VIEW Controller来管理,而我只需要一个在其他UIVIEW或甚至在UIVIEW中的小组件。UITableCellViewsWing。您的视图可以将UICollectionViewDelegate/Datasource扩展为独立视图:)