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

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

ScrollView 布局

提示

完整的 ScrollView 示例请参阅 英文版文档。

在 UIScrollView 中使用 Auto Layout 布局可能比较棘手,Masonry 让它变得简单。

基本设置

关键原则:ScrollView 的内容大小由其内容视图的约束决定。

::: code-group

// 固定 scrollView 到边缘
[scrollView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.edges.equalTo(self.view);
}];

// 创建内容视图
[contentView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.edges.equalTo(scrollView);
    make.width.equalTo(scrollView); // 防止水平滚动
}];
scrollView.mas.makeConstraints { make in
    make.edges.equalTo(view)
}

contentView.mas.makeConstraints { make in
    make.edges.equalTo(scrollView)
    make.width.equalTo(scrollView) // 防止水平滚动
}

:::

重要

确保内容视图的约束从上到下(垂直滚动)或从左到右(水平滚动)形成完整的链条。缺少最后一个约束会导致内容大小为零。

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