---
title: LazyVStack
framework: swiftui
role: symbol
role_heading: Structure
path: swiftui/lazyvstack
---

# LazyVStack

A view that arranges its children in a line that grows vertically, creating items only as needed.

## Declaration

```swift
nonisolated struct LazyVStack<Content> where Content : View
```

## Mentioned in

Grouping data with lazy stack views Picking container views for your content Creating performant scrollable stacks Displaying data in lists

## Overview

Overview The stack is “lazy,” in that the stack view doesn’t create items until it needs to render them onscreen. In the following example, a ScrollView contains a LazyVStack that consists of a vertical row of text views. The stack aligns to the leading edge of the scroll view, and uses default spacing between the text views. ScrollView {     LazyVStack(alignment: .leading) {         ForEach(1...100, id: \.self) {             Text("Row \($0)")         }     } }

## Topics

### Creating a lazy-loading vertical stack

- [init(alignment:spacing:pinnedViews:content:)](swiftui/lazyvstack/init(alignment:spacing:pinnedviews:content:).md)

## Relationships

### Conforms To

- [View](swiftui/view.md)

## See Also

### Dynamically arranging views in one dimension

- [Grouping data with lazy stack views](swiftui/grouping-data-with-lazy-stack-views.md)
- [Creating performant scrollable stacks](swiftui/creating-performant-scrollable-stacks.md)
- [LazyHStack](swiftui/lazyhstack.md)
- [PinnedScrollableViews](swiftui/pinnedscrollableviews.md)
