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应用程序,所以这是一种有点不同的方式!我会试一试的,谢谢。