自动布局Xcode

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

我是一个初学者,有一些理解上的困难。Auto layout 约束。对于放置在故事板中的每个对象,我是否必须指定宽度、高度,以及前导和后导约束,以避免出现错误信息?

ios swift xcode
1个回答
0
投票

对于任何视图的准确渲染,系统需要知道,毫不含糊的,它的--位置和尺寸。

考虑一个简单的场景,你想把一个高为 "Y"、宽为 "X "的 "矩形 "放在屏幕中心,自动布局需要知道这个意图。您可以通过设置4个约束条件来传达这一意图。

  1. 高度限制
  2. 宽度限制
  3. 垂直于容器约束(或 centerYAnchor)。
  4. 容器内水平约束(或 centerXAnchor)。

任何更多或更少的约束条件都可能会增加定位或尺寸方面的模糊性。

在另一个例子中,当你的 "矩形 "需要总是距离父视图的所有边缘10点时,你只需要指定--------。

  1. 矩形的前锚相对于父视图的前锚为10点。
  2. 矩形的尾部锚点相对于父视图的尾部锚点为-10点。
  3. 矩形的上锚点与父视图的上锚点相差10点。
  4. 矩形的底部锚点相对于父视图的底部锚点为-10点。

请注意,尾部锚和底部锚是负值,因为您将子视图锚放置在这些父锚的各自原点之前。另外,在这种情况下,你不需要指定高度或宽度,因为给定的约束条件会根据设备尺寸动态地指定它。

这只是2个非常简单的场景,但如果你尝试使用这个逻辑来渲染和玩耍(以程序化方式或通过故事板),它会让事情变得更加清晰。

但实际上,这只是表面。要想真正深入了解,我建议深入了解自动布局文档中的这一章节--''。约束的剖析'

© www.soinside.com 2019 - 2024. All rights reserved.