iOS 自动布局 - 堆栈视图中的约束问题
iOS Auto Layout - Issue with constrains within Stack View
我的主视图有两个元素。框架顶部的 Stack View,底部的 View。在顶部 Stack View 我有一些标签。我希望这两个标签之一与父容器(Stack View)保持固定距离,而另一个我想要边缘。如此处所示:
我相信约束在此图像中正确可见。
现在,向标签 Foo
的 lead/trail 添加 50
单位的约束不起作用。显示的错误如下:
出于某种原因,还有一个我没有添加的额外约束(图中的第二个),那个我不能删除,但只能删除我添加的那个(50
单位)。如果我应用这个建议的更改,它看起来会延伸到 lead/trail,因为我想避免。
我做错了什么?为什么这会以如此不可预测的方式表现?是什么阻止我的标签在其父容器 Stack View?
上有一个固定的 lead/trail
One of these two labels I want to have with a fixed distance to the parent container (The Stack View), while the other one I want to the edge
好的。所以那不会是堆栈视图!只需将这些标签放入 普通 视图并配置约束即可。
原因是make 约束是堆栈视图的工作。它在排列的子视图上制造了一堆约束。因此you一定不要对那些排列好的子视图应用约束;如您所见,它们将与堆栈视图正在执行的操作发生冲突。
堆栈视图的作用是固定且有限的。如果您不喜欢它的作用,请不要使用它。请记住,堆栈视图不会做 任何您无法通过自己编写约束来完成的事情。所以就这样做吧。
我的主视图有两个元素。框架顶部的 Stack View,底部的 View。在顶部 Stack View 我有一些标签。我希望这两个标签之一与父容器(Stack View)保持固定距离,而另一个我想要边缘。如此处所示:
我相信约束在此图像中正确可见。
现在,向标签 Foo
的 lead/trail 添加 50
单位的约束不起作用。显示的错误如下:
出于某种原因,还有一个我没有添加的额外约束(图中的第二个),那个我不能删除,但只能删除我添加的那个(50
单位)。如果我应用这个建议的更改,它看起来会延伸到 lead/trail,因为我想避免。
我做错了什么?为什么这会以如此不可预测的方式表现?是什么阻止我的标签在其父容器 Stack View?
上有一个固定的 lead/trailOne of these two labels I want to have with a fixed distance to the parent container (The Stack View), while the other one I want to the edge
好的。所以那不会是堆栈视图!只需将这些标签放入 普通 视图并配置约束即可。
原因是make 约束是堆栈视图的工作。它在排列的子视图上制造了一堆约束。因此you一定不要对那些排列好的子视图应用约束;如您所见,它们将与堆栈视图正在执行的操作发生冲突。
堆栈视图的作用是固定且有限的。如果您不喜欢它的作用,请不要使用它。请记住,堆栈视图不会做 任何您无法通过自己编写约束来完成的事情。所以就这样做吧。