【问题标题】:Constraints not re-sizing stack view约束不重新调整堆栈视图的大小
【发布时间】:2016-08-23 05:26:55
【问题描述】:

我正在尝试将一个垂直堆栈视图拖到一个视图上并设置它的约束以填充整个视图。我的做法是选择 main.storyboard 文档大纲上的视图,然后从右侧的对象库中拖动垂直堆栈视图。然后我从文档大纲中的堆栈视图控制拖动到视图,并在弹出窗口上设置 4 个约束(前导边距、尾随边距、垂直间距和水平间距)。然后我进入约束并将所有常量设为 0。然后堆栈视图应该调整大小以填充整个视图,但它没有......知道我做错了什么吗?

【问题讨论】:

    标签: ios iphone xcode swift autolayout


    【解决方案1】:

    堆栈视图根据其内容大小设置其帧大小,您不能只为堆栈视图定义一些边缘约束来调整其大小

    如果您希望堆栈视图具有与您的 UIView 相同的大小,请向其中添加与您的 UIView 相同大小的内容。

    看看这个:

    我在视图控制器中添加了一个视图。然后我在这个视图中添加了一个stackview。

    stackview 有 2 个约束:顶部和前导空间为 0。

    为了让我的堆栈视图与 UIView 具有相同的大小:我在堆栈视图中添加了另一个 UIView(它可以是其他任何东西)。

    在第二个 UIView 上,我设置了两个约束:与第一个 UIView 相等的高度和相等的宽度。

    所以现在堆栈视图包含一个内容(第二个 UIView),具有宽度和高度。 所以堆栈视图与初始视图具有相同的大小。

    【讨论】:

    • 我正忙于 Udacity 对 ios 和 swift 课程的介绍,在该视频中,当约束常量设置为 0 时,视图会调整大小以填充 UIView。例如到顶部布局指南的距离 = 0 和到底部布局指南的距离 = 0??? ii 应该在垂直堆栈视图上添加带有按钮的水平堆栈视图,但是垂直堆栈视图太小......
    • 看看我的编辑,如果您还有问题,请告诉我。
    • 如果您可以链接最终结果的图像,这可能会有所帮助
    • 如何更新框架以显示约束结果?那么为什么要在堆栈视图中添加另一个视图呢?为什么不能设置堆栈视图来填充它的超级视图?感谢您的所有努力
    • update frame : Cmd + alt + = 堆栈视图只是一个容器,它可以帮助您管理 UIView 的位置(垂直、水平)。如果需要,您可以将其设置为位置,但 UIStackView 的大小由其内容决定
    【解决方案2】:
    1. 为其指定前导、尾随、顶部和底部间距 监督。
    2. 将所有约束设为 0。
    3. 更新框架

    【讨论】:

    • 我就是这样做的...看看这个 youtube.com/watch?v=m4WIT5saiAg 这是我所做的,但是垂直堆栈视图不会调整大小以适应它的父视图跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多