Grid:SwiftUI 风格的 CSS Grid 布局视图





项目名称:Grid

Grid 是一个由 Exyte 开发的 SwiftUI 网格布局库,它提供了一个强大且易于使用的布局方式,灵感来源于 CSS Grid。以下是该项目的主要特点和使用方法:

概览

Grid 提供了多种轨道尺寸、单元格背景和覆盖层、跨行跨列、内容模式、排列模式、间距、对齐、动画等丰富的布局功能。

安装

Grid 可以通过 CocoaPods、Swift Package Manager 和 Carthage 进行安装。

系统要求

  • iOS 14.0+ macOS 10.15+ Xcode 12+

文档

  • 初始化:支持多种初始化方式,包括指定轨道和视图。

  • 容器:支持 ForEachGridGroup,用于处理多个视图。

  • 轨道尺寸:支持固定尺寸、内容基于尺寸和灵活尺寸轨道。

  • 单元格背景和覆盖层:可以为网格单元设置背景和覆盖层。

  • 跨行跨列:支持通过 .gridSpan 修饰符设置视图跨越多个轨道。

  • 开始位置:可以为每个视图设置明确的起始位置。

  • 流方向:支持按行和按列的流方向。

  • 内容模式:支持滚动和填充两种内容模式。

  • 排列模式:支持稀疏和密集两种排列策略。

  • 间距:支持定义轨道之间的水平和垂直间距。

  • 对齐:支持单独网格项、所有项和整个网格内容的对齐设置。

  • 动画:可以为网格内容定义特定的动画效果。

  • 缓存:支持布局缓存,提高性能。

  • 条件语句 / @GridBuilder:支持在网格和网格组体内使用条件语句和自定义函数构建器。

示例代码

以下是一些 Grid 的使用示例代码,展示了如何创建和自定义网格布局:

Grid(tracks: 3) {
    ColorView(.blue)
    ColorView(.purple)
    ColorView(.red)
    ColorView(.cyan)
    ColorView(.green)
    ColorView(.orange)
}
Grid(0..<6, tracks: 3) { _ in
    ColorView(.random)
}
Grid(colorModels, tracks: 3) {
    ColorView($0)
}
Grid(colorModels, id: \.self, tracks: 3) {
    ColorView($0)
}

Grid 提供了丰富的 API 和灵活的布局选项,使得在 SwiftUI 中实现复杂的网格布局变得简单快捷。更多详细信息和高级用法,请参考项目的官方文档

或许喜欢

Restart:展示SwiftUI设计和iOS 15特性的应用示例

Restart 是一个展示 SwiftUI 设计和 iOS 15 新特性的应用示例,包括触感触控、音效效果、视差效果以及 Swift 5 和 SwiftUI 的最佳实践。

最近更新 2024-12-09

walletui:SwiftUI 3.0制作的自定义动画钱包应用UI

walletui 是一个开源的 SwiftUI 项目,展示了一个具有自定义动画和延迟动画的钱包应用UI,专为 iOS 15 设计。

最近更新 2024-12-09

ActivityIndicatorView:SwiftUI 创建的预设加载指示器库

ActivityIndicatorView 是一个 SwiftUI 库,提供多种预设的加载动画指示器,支持自定义样式和动画,适用于 iOS、watchOS、tvOS 和 macOS 平台。

最近更新 2024-12-11

热榜

Made with in Shangrao,China By 老雷

Copyright © devler.cn 1987 - Present

赣ICP备19009883号-1