动态调整大小的 stackView 以减少内容
Posted
技术标签:
【中文标题】动态调整大小的 stackView 以减少内容【英文标题】:Dynamically sized stackView for less content 【发布时间】:2019-11-01 07:15:32 【问题描述】:我有 自定义 XIB 的,我将使用它在运行时创建我的 ViewController。 ViewController 中包含哪些 XIB 将在运行时决定。
我为此目的使用了stackView
,我已将其添加到情节提要中并将其限制为superView
的leading-triling-top-bottom。这意味着stackView将被拉伸到viewController
的高度。
现在当我有几个自定义视图(或 XIB)时,比如 3,它不应该覆盖整个屏幕,而是坚持它的大小并添加到 stackView
但我的问题出现在这里:由于我已将 stackView 限制为完整屏幕(因为有时 XIB 的数量可能会更多,并且会超过屏幕的大小,因此我可能需要一个可滚动的 stackView),它显示像这样
我发现了一种黑客 here,但我认为这不会成功
StackView的对齐-填充、分布-等间距(0)
【问题讨论】:
移除底部的约束 【参考方案1】:步骤 1. 将超级视图和堆栈视图之间的底部约束设置为 Equal or more
第 2 步。 使用优先级 1 和常量 0 对堆栈视图进行高度约束
第 3 步。 确保您在堆栈视图布局中正确查看 - 所有边缘都应安装在每个视图中
【讨论】:
【参考方案2】:我解决了:
-
移除 stackView 的底部约束
将 Size Inspector 下的
Intrinsic size
从 System Defined 更改为 Placeholder,并将 height
设置为 1时间>
【讨论】:
以上是关于动态调整大小的 stackView 以减少内容的主要内容,如果未能解决你的问题,请参考以下文章
在iOS中使用autolayout调整内容大小的UILabel
UIImageView 未调整为圆形,UILabel 未在 StackView 和自定义集合单元中调整大小