---
title: "init(columnVisibility:preferredCompactColumn:sidebar:content:detail:)"
framework: swiftui
role: symbol
role_heading: Initializer
path: "swiftui/navigationsplitview/init(columnvisibility:preferredcompactcolumn:sidebar:content:detail:)"
---

# init(columnVisibility:preferredCompactColumn:sidebar:content:detail:)

Creates a three-column navigation split view that enables programmatic control of leading columns’ visibility in regular sizes and which column appears on top when the view collapses into a single column in narrow sizes.

## Declaration

```swift
nonisolated init(columnVisibility: Binding<NavigationSplitViewVisibility>, preferredCompactColumn: Binding<NavigationSplitViewColumn>, @ContentBuilder sidebar: () -> Sidebar, @ContentBuilder content: () -> Content, @ContentBuilder detail: () -> Detail)
```

## Parameters

- `columnVisibility`: A doc://com.apple.SwiftUI/documentation/SwiftUI/Binding to state that controls the visibility of the leading columns.
- `preferredCompactColumn`: A doc://com.apple.SwiftUI/documentation/SwiftUI/Binding to state that controls which column appears on top when the view collapses.
- `sidebar`: The view to show in the leading column.
- `content`: The view to show in the middle column.
- `detail`: The view to show in the detail area.

## See Also

### Specifying a preferred compact column and column visibility

- [init(columnVisibility:preferredCompactColumn:sidebar:detail:)](swiftui/navigationsplitview/init(columnvisibility:preferredcompactcolumn:sidebar:detail:).md)
