如何使堆栈视图或容器视图包装内容?
Posted
技术标签:
【中文标题】如何使堆栈视图或容器视图包装内容?【英文标题】:How do I make a stack view or container view wrap contents? 【发布时间】:2018-01-26 09:42:00 【问题描述】:这里是从 android 代码库迁移的新手 ios 开发人员。
在 android 中,如果我们想要一个根据其内部内容自动调整高度的容器,我们只需执行以下操作
<LinearLayout
android:orientation="vertical"
android:layout_
android:layout_>
...
</LinearLayout>
这是如何通过情节提要在自动布局中实现的?如何使stackview
或containerview
的宽度或高度为wrap_content
?
【问题讨论】:
这取决于内容是什么。许多组件可以根据其内容自行调整大小,如果您在组件之间添加约束,那么自动布局可以保持间距。 您需要提供更多信息。例如,如果您将文本字段的行数设置为 0,那么它将根据需要扩展。如果您仅限制其顶部/左侧或底部/右侧,则 UIImageView 可以展开以保存图像。一个按钮永远不会换行超过一行。 【参考方案1】:您可以在 ios 上使用 UIStackView (Vertcl/Horizontal) 或 UIScrollview 完成相同的操作
让我在scrollview中解释整个过程
1- 将滚动视图拖到故事板文件/Xib 中的视图控制器
2- 将故事板前导、尾随、顶部、底部约束赋予主视图
3- 在滚动视图中拖动一个 UIView (contentView) 并将它的前导、尾随、顶部、底部约束挂钩到滚动视图
4- control-从 contentView 拖到 mainView 并选择 Equal-widths constraint
在这一步之前,你有一个滚动视图,可以根据其组件的内部大小进行包装
5- 拖动一个 UILabel 并将它的前导、尾随、顶部、底部约束挂钩到 contentView
在运行时更改该标签的内容,滚动视图将根据标签内容进行换行
【讨论】:
以上是关于如何使堆栈视图或容器视图包装内容?的主要内容,如果未能解决你的问题,请参考以下文章