OneScript

Lazy Grid

使用固定、弹性或自适应轨道排列网格内容。

LazyVGrid 按列描述布局内容,LazyHGrid 按行描述布局内容。两者都使用 GridItem 定义轨道尺寸、间距和对齐方式。

OneScript 当前会在提交视图前解析完整的 TypeScript/TSX 子节点树。SwiftUI 在布局和显示阶段按需创建对应视图。

import { GridItem, LazyVGrid, Text } from "onescript/views"

<LazyVGrid
  columns={[
    GridItem.fixed(64),
    GridItem.flexible({ minimum: 80 }),
    GridItem.adaptive({ minimum: 100, maximum: 180 }),
  ]}
  alignment="leading"
  spacing={12}
>
  <Text>One</Text>
  <Text>Two</Text>
  <Text>Three</Text>
</LazyVGrid>

LazyVGrid

PropType说明
columnsGridItem[]非空列描述数组。
alignment"leading" | "center" | "trailing"网格水平对齐方式,默认 "center"。
spacingnumber行间距(pt);省略时使用系统间距。
pinnedViewsPinnedScrollableView[]可吸附的 Section 页眉或页脚。

LazyHGrid

PropType说明
rowsGridItem[]非空行描述数组。
alignment"top" | "center" | "bottom"网格垂直对齐方式,默认 "center"。
spacingnumber列间距(pt);省略时使用系统间距。
pinnedViewsPinnedScrollableView[]可吸附的 Section 页眉或页脚。

GridItem

  • GridItem.fixed(size, options?) 创建固定尺寸的行或列。
  • GridItem.flexible({ minimum?, maximum?, spacing?, alignment? }) 创建弹性行或列,minimum 默认 10,maximum 默认 Infinity。
  • GridItem.adaptive({ minimum, maximum?, spacing?, alignment? }) 在可用空间内重复创建自适应行或列,maximum 默认 Infinity。

spacing 设置当前轨道与下一轨道的间距,alignment 设置当前轨道内单元格的对齐方式。

How is this guide?

最后更新于

本页目录