Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.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 使用自定义XIB时,视图将丢失约束_Ios_Swift - Fatal编程技术网

Ios 使用自定义XIB时,视图将丢失约束

Ios 使用自定义XIB时,视图将丢失约束,ios,swift,Ios,Swift,我正在尝试向UIStackView动态添加视图 我有一个XIB,里面有一个全屏UIStackView。然后我有一些视图-标签和文本字段/文本视图 这里的想法是,我有一个类来管理这些单独的视图,这个类有自己的XIB布局文件 因此,处理最外层的UIStackView的类将从各个类中获取布局,并将其作为子视图添加到UIStackView 尝试执行此操作时,视图显示为挤压,与原始约束不一致 我可以提供代码,但我将解释约束 外部的UIStackView被拉伸成全屏,分布填充,间距相等 “内部”视图的一个示

我正在尝试向
UIStackView
动态添加视图

我有一个
XIB
,里面有一个全屏
UIStackView
。然后我有一些视图-标签和文本字段/文本视图

这里的想法是,我有一个类来管理这些单独的视图,这个类有自己的
XIB
布局文件

因此,处理最外层的
UIStackView
的类将从各个类中获取布局,并将其作为子视图添加到
UIStackView

尝试执行此操作时,视图显示为挤压,与原始约束不一致

我可以提供代码,但我将解释约束

外部的
UIStackView
被拉伸成全屏,分布填充,间距相等

“内部”视图的一个示例是标签。我有一个单独的
XIB
文件,其中包含
ui视图
,然后是
标签
。标签固定在
ui视图的中心

我认为问题在于将自定义XIB添加到现有的
UIStackView
。我不确定我还需要提供多少信息,但我怀疑有人可能会直接从提供的信息中发现我遗漏了什么


感谢您的帮助。谢谢。

UIStackView完全按照您的要求执行。如果设置了约束,以便UIStackView填充整个屏幕,那么您需要提供内容,当它在屏幕上等分时,具有预期的布局,插入的每个视图的大小将调整为相同大小

如果您不知道要使用多少视图,但需要每个视图在屏幕上显示各自的纵横比,则可以使用“按比例填充”选项。UIStackView将添加每个视图的高度,然后划分其自身的高度,并按比例将其分布到每个视图。如果添加的视图太多,也会开始挤压视图

为了避免此类问题,您可能希望将UIStackView放在UIScrollView中。然后设置一个优先级非常低的约束,将UIStackView高度设置为0,插入视图时,UIStackView将自动调整大小以适应不同的视图


祝你好运

我认为这是最后一点,这将得到超过线。除了StackView的高度外,它似乎工作正常。我多年来一直在开发Android应用程序,所以这是一种有点不同的方式!我会试一试的,谢谢。