删除特定约束后此错误是什么意思?

问题描述 投票:-1回答:1

我刚开始学习快速,所以我的问题对您来说似乎微不足道。

通过将“水平放置在容器中”和“垂直放置在容器中”都设置为0的对齐约束添加到按钮上并通过添加宽度和高度都设置为100的另一个约束,将自动布局应用于按钮之后。>

[此后,我删除了“垂直放入容器”约束,以查看发生了什么,并且看到高度错误。当我仅删除“水平放置在容器中”这在宽度上显示错误时,情况也是如此。该错误实际上是什么意思,为什么会显示出来?

[此外,我从不理解“垂直在容器中”和“水平在容器中”的短语。当我仅应用“垂直于容器中”时,情节提要上会出现一条水平线,这似乎很令人困惑,因为您期望垂直线是因为该短语具有垂直线。为什么会这样?

Error on height of button after removing "Vertically in Container" constraint

我无法发布更多图片,因为我的信誉点不超过10。

我刚开始学习敏捷,所以我的问题对您来说似乎微不足道。通过在“水平放置在容器中”和“垂直放置在...中”中添加对齐约束,将自动布局应用到按钮后,

要渲染视图(通常是矩形),系统需要知道该视图的宽度和高度。除此之外,它还需要知道您要将这个视图/矩形在屏幕上的位置。
术语“垂直位于容器中”是指系统将视图放置在屏幕的垂直中心,就像这样-
Vertically centered on screen

术语“在容器中水平放置”是指系统将视图像这样定位在屏幕的水平中心-

Horizontally centered on screen

很明显,同时设置了这两个约束后,系统会将视图水平和垂直居中放置,就像这样-

Horizontally and vertically centered view

当您删除“水平放置在容器中”约束时,系统不知道水平放置视图的位置,因此会出现该错误。尽管它有宽度,但会在X轴上显示一条红线(实际上不是宽度)。这是您添加水平约束的提示。要解决此问题,您可以->

将视图水平居中(您本来就是在做的)

指定前导和尾随约束

    指定左右约束
  • 类似地,当您删除“垂直于容器中”约束时,系统不知道垂直放置视图的位置。要解决此问题,您可以-
  • 将视图垂直居中(您原来在做的事情)
  • 指定顶部和底部约束

    我希望这会有所帮助。
ios swift autolayout storyboard ios-autolayout
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.