【问题标题】:iOS Auto Layout - Issue with constrains within Stack ViewiOS 自动布局 - 堆栈视图中的约束问题
【发布时间】:2021-06-24 08:17:18
【问题描述】:

我的主要观点有两个元素。 Stack View 在框架的顶部,View 在底部。在顶部 Stack View 我有一些标签。我希望这两个标签之一与父容器(Stack View)保持固定距离,而另一个我想要边缘。如下所示:

我相信约束在这张图片中是正确可见的。

现在,将 50 单位添加到标签 Foo 的前导/尾随的约束不起作用。显示的错误如下:

由于某种原因,我没有添加另一个额外的约束(图像中的第二个),我无法删除那个,但只有我添加的一个(50 单位)。如果我应用这个建议的更改,它看起来像我想避免的那样延伸到前导/尾随。

我做错了什么?为什么这会以如此不可预测的方式表现?是什么阻止了我的标签对其父容器堆栈视图有固定的线索/线索?

【问题讨论】:

    标签: ios autolayout


    【解决方案1】:

    我希望这两个标签中的一个与父容器(堆栈视图)保持固定距离,而另一个我想要边缘

    好的。所以这不会是一个堆栈视图!只需将这些标签放入普通视图并配置约束即可。

    原因是堆栈视图的工作是制作约束。它在排列的子视图上制造了一堆约束。因此你不能对那些排列好的子视图应用约束;如您所见,它们将与堆栈视图的操作相冲突。

    堆栈视图的作用是固定的,并且是有限的。如果您不喜欢它的功能,请不要使用它。请记住,堆栈视图并没有做任何您自己编写约束无法做到的事情。所以就这样做吧。

    【讨论】:

    • 我明白了。因此,如果父堆栈视图具有前导/尾随约束,则无法设置前导/尾随约束?是这样吗?
    • 我在回答中说了什么?您不能制作约束来定位堆栈视图的排列子视图。堆栈视图为您制作了这些。这就是堆栈视图是。
    猜你喜欢
    • 1970-01-01
    • 2016-02-12
    • 2016-02-04
    • 1970-01-01
    • 2019-04-13
    • 1970-01-01
    • 2015-04-06
    • 2019-05-13
    • 1970-01-01
    相关资源
    最近更新 更多