---
title: GridLayout
framework: swiftui
role: symbol
role_heading: Structure
path: swiftui/gridlayout
---

# GridLayout

A grid that you can use in conditional layouts.

## Declaration

```swift
@frozen nonisolated struct GridLayout
```

## Overview

Overview This layout container behaves like a Grid, but conforms to the Layout protocol so you can use it in the conditional layouts that you construct with AnyLayout. If you don’t need a conditional layout, use Grid instead.

## Topics

### Creating a grid

- [init(alignment:horizontalSpacing:verticalSpacing:)](swiftui/gridlayout/init(alignment:horizontalspacing:verticalspacing:).md)

### Getting the grid’s properties

- [alignment](swiftui/gridlayout/alignment.md)
- [horizontalSpacing](swiftui/gridlayout/horizontalspacing.md)
- [verticalSpacing](swiftui/gridlayout/verticalspacing.md)

### Type Aliases

- [GridLayout.Body](swiftui/gridlayout/body.md)

### Default Implementations

- [Layout Implementations](swiftui/gridlayout/layout-implementations.md)

## Relationships

### Conforms To

- [Animatable](swiftui/animatable.md)
- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Copyable](swift/copyable.md)
- [Escapable](swift/escapable.md)
- [Layout](swiftui/layout.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Transitioning between layout types

- [AnyLayout](swiftui/anylayout.md)
- [HStackLayout](swiftui/hstacklayout.md)
- [VStackLayout](swiftui/vstacklayout.md)
- [ZStackLayout](swiftui/zstacklayout.md)
