我SidebarListStyle
在NavigationView
.
struct ContentView: View {
let data = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen"]
var body: some View {
NavigationView {
List {
Section(header: Text("Section")) {
ForEach(data, id: \.self) { word in
Text(word)
}
}
}
.listStyle(SidebarListStyle())
.navigationBarTitle(Text("Title"), displayMode: .large)
}
}
}
问题是列表中的每一行后面都有一个白色矩形,但仅限于纵向模式。风景很好。
我不想要那个白色背景,有人知道如何删除它吗?此外,在启动应用程序时,它似乎出现了故障——起初它很好,然后它添加了白色背景。
奇怪的是,如果我添加.navigationViewStyle(StackNavigationViewStyle())
到 中NavigationView
,白色背景会消失并且可以正常启动。
struct ContentView: View {
let data = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen"]
var body: some View {
NavigationView {
List {
Section(header: Text("Section")) {
ForEach(data, id: \.self) { word in
Text(word)
}
}
}
.listStyle(SidebarListStyle())
.navigationBarTitle(Text("Title"), displayMode: .large)
}
.navigationViewStyle(StackNavigationViewStyle())
}
}
左:启动方式,右:启动后的样子
↑ 这就是我想要的样子。
但是,现在横向模式仅限于全角列表,我也不想要。
编辑:@Omid的回答
我添加了背景颜色以匹配默认颜色:
Text(word)
.listRowBackground(Color(UIColor.systemGroupedBackground))
但是启动故障仍然存在。
编辑:@pawello2222的回答
工作正常,只是旋转时奇怪的过渡。