У меня Issue
с Lists
в SwiftUI
.
Проблема: Довольно просто, у меня есть List
с .listStyle(SidebarListStyle())
внутри NavigationView
, а углы не закруглены (см. изображение ниже).
Мой код:
NavigationView {
List {
Label("Option", systemImage: "list.bullet.rectangle")
Label("Option", systemImage: "tv")
Label("Option", systemImage: "mail.stack")
}
.listStyle(SidebarListStyle())
.navigationTitle("Options")
}
Исход:
Вопрос: Как выполнить Standard iOS 14 List Design
с закругленными углами?
Большое спасибо за вашу помощь!
Для этого вам нужен другой стиль
List {
Label("Option", systemImage: "list.bullet.rectangle")
Label("Option", systemImage: "tv")
Label("Option", systemImage: "mail.stack")
}
.listStyle(InsetGroupedListStyle())
Обновление: использование стиля условного списка
NavigationView {
List {
Label("Option", systemImage: "list.bullet.rectangle")
Label("Option", systemImage: "tv")
Label("Option", systemImage: "mail.stack")
}
.sidebarStyle(if: UIDevice.current.userInterfaceIdiom == .pad)
.navigationTitle("Options")
}
и вспомогательное расширение
extension List {
@ViewBuilder
func sidebarStyle(if flag: Bool) -> some View {
if flag {
self.listStyle(SidebarListStyle())
} else {
self.listStyle(InsetGroupedListStyle())
}
}
}
Мы можем использовать условный стиль списка в зависимости от платформы, см. Обновлено.
Спасибо за Ваш ответ. Однако мне нужно использовать SidebarListStyle, так как я хотел бы иметь боковую панель на iPad. Как я могу это сделать?