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

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

Creates a two-column navigation split view that enables programmatic control of the sidebar’s 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 detail: () -> Detail) where Content == EmptyView
```

## Parameters

- `columnVisibility`: A doc://com.apple.SwiftUI/documentation/SwiftUI/Binding to state that controls the visibility of the leading column.
- `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.
- `detail`: The view to show in the detail area.

## See Also

### Specifying a preferred compact column and column visibility

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