使用 Apple 的视觉格式语言,使用间隔符设置 View 及其父 View 之间的水平和垂直关系非常简单。
如果我希望下面的可视化示例中的 view2 具有固定宽度,而 view1 将填充剩余空间。对于 VFL,我将按如下方式指定此行为:
|-[view1]-[view2(==100)-|
对于 Masonry,如何在 View 之间建立这些关系并不明确; view1 不“了解”view2,并且会低于或重叠它。我错过了什么?
最佳答案
View 仍然相互“感知”。关键是将view2的左边缘固定到view1的右边缘:
[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.bottom.left.equalTo(containerView);
}];
[view2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.bottom.equalTo(containerView);
make.left.equalTo(view1.mas_right);
make.right.equalTo(containerView);
make.width.equalTo(@100);
}];
关于ios - 如何使用自动布局的 Masonry DSL 定义 View 之间的垂直和水平关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28078460/