MasonryMasonry
指南
  • Objective-C API
  • Swift API
示例
更新日志
  • English
  • 简体中文
GitHub
指南
  • Objective-C API
  • Swift API
示例
更新日志
  • English
  • 简体中文
GitHub
  • 示例

    • 常见布局模式
    • 动画约束
    • ScrollView 布局

常见布局模式

提示

代码示例为通用内容,建议参阅 英文版示例 获取完整文档。

边缘固定

将视图固定到父视图的所有边缘:

::: code-group

[childView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.edges.equalTo(superview);
}];
childView.mas.makeConstraints { make in
    make.edges.equalTo(superview)
}

:::

居中

在父视图中居中:

::: code-group

[childView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.center.equalTo(superview);
    make.size.mas_equalTo(CGSizeMake(200, 100));
}];
childView.mas.makeConstraints { make in
    make.center.equalTo(superview)
    make.size.equalTo(CGSize(width: 200, height: 100))
}

:::

宽高比

保持宽高比:

::: code-group

[imageView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.width.equalTo(superview);
    make.height.equalTo(imageView.mas_width).multipliedBy(9.0 / 16.0);
}];
imageView.mas.makeConstraints { make in
    make.width.equalTo(superview)
    make.height.equalTo(imageView.mas.width).multipliedBy(9.0 / 16.0)
}

:::

安全区域布局

固定到安全区域(iOS 11+):

::: code-group

[contentView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.top.equalTo(self.view.mas_safeAreaLayoutGuideTop);
    make.bottom.equalTo(self.view.mas_safeAreaLayoutGuideBottom);
    make.leading.equalTo(self.view.mas_safeAreaLayoutGuideLeading);
    make.trailing.equalTo(self.view.mas_safeAreaLayoutGuideTrailing);
}];
contentView.mas.makeConstraints { make in
    make.top.equalTo(view.mas.safeAreaLayoutGuideTop)
    make.bottom.equalTo(view.mas.safeAreaLayoutGuideBottom)
    make.leading.equalTo(view.mas.safeAreaLayoutGuideLeading)
    make.trailing.equalTo(view.mas.safeAreaLayoutGuideTrailing)
}

:::

在 GitHub 上编辑此页
上次更新: 2026/3/29 12:09
贡献者: samzhjiang
Next
动画约束