<!--
{
  "availability" : [
    "iOS: 14.0.0 -",
    "iPadOS: 14.0.0 -",
    "macCatalyst: 14.0.0 -",
    "macOS: 11.0.0 -",
    "tvOS: 14.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 7.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/LazyVGrid/init(columns:alignment:spacing:pinnedViews:content:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI9LazyVGridV7columns9alignment7spacing11pinnedViews7contentACyxGSayAA8GridItemVG_AA19HorizontalAlignmentV14CoreFoundation7CGFloatVSgAA016PinnedScrollableI0VxyXEtcfc"
  },
  "title" : "init(columns:alignment:spacing:pinnedViews:content:)"
}
-->

# init(columns:alignment:spacing:pinnedViews:content:)

Creates a grid that grows vertically.

```
nonisolated init(columns: [GridItem], alignment: HorizontalAlignment = .center, spacing: CGFloat? = nil, pinnedViews: PinnedScrollableViews = .init(), @ContentBuilder content: () -> Content)
```

## Parameters

`columns`

An array of grid items to size and position each row of
the grid.

`alignment`

The alignment of the grid within its parent view.

`spacing`

The spacing between the grid and the next item in its
parent view.

`pinnedViews`

Views to pin to the bounds of a parent scroll view.

`content`

The content of the grid.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)