【发布时间】:2023-03-05 13:23:01
【问题描述】:
阅读相对布局中的约束,我发现了以下内容:
在数学上,任何约束都可以用以下等式表示:
Y = 乘数 * X + 常数
X 和 Y 是视图的属性,可以是左、右、上、下、前导、尾随、宽度、高度、centerX、centerY 或基线。
有人能解释一下吗?
【问题讨论】:
阅读相对布局中的约束,我发现了以下内容:
在数学上,任何约束都可以用以下等式表示:
Y = 乘数 * X + 常数
X 和 Y 是视图的属性,可以是左、右、上、下、前导、尾随、宽度、高度、centerX、centerY 或基线。
有人能解释一下吗?
【问题讨论】:
我想在示例中解释效果最好,所以:
假设您有一些视图位于它的视图控制器中,因此它距左侧 10 个点。这意味着它的前导设置为 10。现在,这个视图有我们想要固定到它的左侧的子视图。所以我们设置了前导约束来匹配父前导。假设我们将此约束的常量设置为 0(无间隙)并且不修改乘数(默认为 1),则此视图的左侧位置设置为:
childLeading = parentLeading * 乘数 + 常数
即:
childLeading = 10 * 1 + 0 = 10
所以左侧的子视图与父视图的位置相同。
修改约束的常量,我们将子视图更向左移动 f.e.常量设置为 8 会导致:
childLeading = 10 * 1 + 8 = 18
因此,视图位于距其父级左边缘 8 点的位置。
我猜你可以在乘数的情况下遵循这个逻辑(它比常数使用得少得多)
【讨论】: