ListStyle в пользовательском интерфейсе Swift

May 08 2023
Для iOS стиль списка по умолчанию (.automatic) — .

Для iOS стиль списка по умолчанию ( .automatic) — .insetGrouped.

Стиль .automaticсписка означает, что мы оставили выбор стиля за SwiftUI . SwiftUI выберет тот, который подходит для контекста.

Это может варьироваться в зависимости от платформы, например iPhone, iPad, Mac или даже места, где используется представление списка.

iOS ListStyles

SwiftUI поддерживает множество стилей, которые различаются в зависимости от платформы.

В этой статье мы сосредоточимся только на iOS. У нас есть шесть вариантов .

  1. .автоматический
  2. .insetGrouped
  3. .сгруппировано
  4. .вставка
  5. .простой
  6. .сайдбар

SwiftUI поддерживает множество стилей, которые различаются в зависимости от платформы.

В этой статье мы сосредоточимся только на iOS. У нас есть шесть вариантов .

  1. .автоматический
  2. .insetGrouped
  3. .сгруппировано
  4. .вставка
  5. .простой
  6. .сайдбар

NavigationStack {
    List {
        Section {
            Text("First")
            Text("Second")
            Text("Third")
        } header: {
            Text("First Section Header")
        } footer: {
            Text("Eos est eos consequatur nemo autem in qui rerum cumque consequatur natus corrupti quaerat et libero tempora.")
        }
        
        Section {
            Text("One")
            Text("Two")
            Text("Three")
        } header: {
            Text("Second Section Header")
        } footer: {
            Text("Tempora distinctio excepturi quasi distinctio est voluptates voluptate et dolor iste nisi voluptatem labore ipsum blanditiis sed sit suscipit est.")
        }
        
        Section {
            Text("1")
            Text("2")
            Text("3")
        } header: {
            Text("Third Section Header")
        } footer: {
            Text("Ea consequatur velit sequi voluptatibus officia maiores ducimus consequatur rerum enim omnis totam et voluptates eius consectetur rerum dolorem quis omnis ut ut.")
        }
    }
    .navigationTitle("List Style")
    // This is the only difference.
    .listStyle(.insetGrouped)
}

Как упоминалось ранее, SwiftUI будет использовать стиль Inset Grouped при настройке автоматического ( .automatic) или DefaultListStyleна iOS.

List {
    // ...
}
// Leave blank or .listStyle(.automatic) yield the same result in iOS.
.listStyle(.automatic)

Пример сгруппированных вставок .insetGroupedили InsetGroupedListStyle.

List {
    // ...
}
.listStyle(.insetGrouped)

      
                

Пример группировки .groupedили GroupedListStyle.

List {
    // ...
}
.listStyle(.grouped)

      
                

Пример вставки .insetили InsetListStyle.

List {
    // ...
}
.listStyle(.inset)

      
                

Пример обычного .plainили PlainListStyle.

List {
    // ...
}
.listStyle(.plain)

      
                

Стиль боковой панели ( .sidebarили SidebarListStyle) оснащен специальной функцией . В macOS и iOS стиль списка боковой панели отображает индикаторы раскрытия в заголовках разделов , которые позволяют пользователю сворачивать и разворачивать разделы .

List {
    // ...
}
.listStyle(.sidebar)