Ios 在UIStackView中以编程方式添加内容时的UIScrollView高度
我正在尝试创建一个包含Ios 在UIStackView中以编程方式添加内容时的UIScrollView高度,ios,swift,uiscrollview,height,uistackview,Ios,Swift,Uiscrollview,Height,Uistackview,我正在尝试创建一个包含UIScrollView的视图。此UIScrollView包含3个UIView。最后一个包含我想在运行时填充的另一个UIStackView 下面是故事板的图像: 但是当我在运行时在第二个UIStackView中添加内容时,ScrollView的高度保持不变 第二个视图被定义为第一个视图,具有: 轴:垂直 对齐:填充 分布:等间距 然后我使用: mStackView.addArrangedSubview(matProgress) 结果如下: 如何使底部视图和滚动视
UIScrollView
的视图。此UIScrollView
包含3个UIView
。最后一个包含我想在运行时填充的另一个UIStackView
下面是故事板的图像:
但是当我在运行时在第二个UIStackView
中添加内容时,ScrollView
的高度保持不变
第二个视图被定义为第一个视图,具有:
- 轴:垂直
- 对齐:填充
- 分布:等间距
mStackView.addArrangedSubview(matProgress)
结果如下:
如何使底部视图和滚动视图拉伸以适合内容。如果您有
UIScrollView
和具有自动布局的子视图。以编程方式设置scrollview的高度将拉伸内部视图以符合自动布局
因此,您可以通过编码获得第三个视图的高度,并将UIScrollView高度设置为view1.height+view2.height+ExpectedThirdViewWheeght。可以使用自动布局和约束完成布局
重点是:
- 不要在任一StackView上设置高度限制
- 将“主”堆栈视图
分布设置为
等间距
- 将“主”StackView的前导、尾随、顶部和底部约束设置为其Superview(即ScrollView)
- 您还需要在“主”堆栈视图上设置宽度约束,以控制水平内容大小
您可以在这里看到一个工作示例:您最初是否使用空的底部视图来显示它?或者当它第一次显示时,它有一些多行?当它第一次显示时,它已经有一些视图。我的问题在我接受的回答中的评论中有描述。谢谢DonMag,你提供的例子帮助我使它工作。当我像你一样使用
UILabels
时,我的项目与你的项目完全一样工作。所以问题是我在底部添加的视图没有任何高度约束。。。