Creating multi-column lists with Table
macOS has supported multi-column tables for a long time. SwiftUI support for multi-column tables was added in macOS 12 with the Table
struct, which, one year later, was added to iOS with the release of iOS 16.
Table
is a container that presents rows of data arranged in columns and provides the ability to sort the data by column and to select one or multiple rows of data. Table
only supports the multi-column layout on the iPad, and it falls back to a one-column list on the iPhone, displaying, by default, the first column. In a similar way, column sorting and multiple-row selection are only available on the iPad.
In this recipe, we will create an app that displays the top 20 US cities by population on the iPad screen using Table
. We will incorporate sorting and multiple-row selection, and finally, create a custom layout to display the information on the iPhone.
Getting ready
Create a new SwiftUI project named MultiColumnTable
.