【问题标题】: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_width="500dp"
    android:layout_height="wrap_content">
    ...
</LinearLayout>

这是如何通过情节提要在自动布局中实现的?如何使stackviewcontainerview 的宽度或高度为wrap_content

【问题讨论】:

  • 这取决于内容是什么。许多组件可以根据其内容自行调整大小,如果您在组件之间添加约束,那么自动布局可以保持间距。
  • 您需要提供更多信息。例如,如果您将文本字段的行数设置为 0,那么它将根据需要扩展。如果您仅限制其顶部/左侧或底部/右侧,则 UIImageView 可以展开以保存图像。一个按钮永远不会换行超过一行。

标签: ios swift xcode autolayout


【解决方案1】:

您可以在 ios 上使用 UIStackView (Vertcl/Horizo​​ntal) 或 UIScrollview 完成相同的操作

让我在scrollview中解释整个过程

1- 将滚动视图拖到故事板文件/Xib 中的视图控制器

2- 将故事板前导、尾随、顶部、底部约束赋予主视图

3- 在滚动视图中拖动一个 UIView (contentView) 并将它的前导、尾随、顶部、底部约束挂钩到滚动视图

4- control-从 contentView 拖到 mainView 并选择 Equal-widths constraint

在这一步之前,你有一个滚动视图,可以根据其组件的内部大小进行包装

5- 拖动一个 UILabel 并将它的前导、尾随、顶部、底部约束挂钩到 contentView

在运行时更改该标签的内容,滚动视图将根据标签内容进行换行

【讨论】:

    猜你喜欢
    • 2018-04-02
    • 2020-12-05
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多