欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SwiftUI 2.0 LazyVGrid和LazyHGrid 深入使用教程含源码

程序员文章站 2024-03-24 13:03:52
...

基础介绍

SwiftUI的LazyVGrid和LazyHGrid为我们提供了相当灵活的网格布局,但它们仅适用于iOS 14或更高版本。

使用思路

最简单的网格由三部分组成:原始数据,描述所需布局的GridItem数组以及将数据和布局组合在一起的LazyVGrid或LazyHGrid。

核心组件

GridItem size类型

GridItem Size有三个类型

  • fixed
    具有指定固定大小的单个项目
  • flexible
    一个灵活的项目。
case flexible(minimum: CGFloat = 10, maximum: CGFloat = .infinity)
  • adaptive
    在一个灵活项目中有多个项目。这种大小的情况下,使用提供的边界和间距确定可以容纳多少个项目,将一个或多个项目放置在分配给单个“灵活”项目的空间中。 这种方法倾向于插入尽可能多的“最小”尺寸的项目,但允许它们增加到“最大”尺寸。

使用代码

1、adaptive尽可能的多塞入

struct Grid01: View {
    let colors: [Color] = [.red, .blue, .green]

    let columns = [
        GridItem(.adaptive(minimum: 40))
    ]

    var body: some View {
        ScrollView {

            LazyVGrid(columns: columns, spacing: 10) {
                ForEach(0...1000, id: \
相关标签: SwiftUI源码大全