SwiftUI 列表视图在我升级到 Xcode 12 后有不同的颜色
SwiftUI List view have a different shade of color after I upgraded to Xcode 12
在我升级到 Xcode 12 后,我的列表视图与其背景相比有不同的白色或黑色阴影(取决于浅色模式或深色模式)。但是我在同一个应用程序中的其他列表视图没问题。为什么?
下面是屏幕截图和随附的代码。请指教,谢谢
List
{
VStack
{
Picker("Numbers", selection: self.$selectorIndex)
{
ForEach(0..<self.numbers.count)
{
index in Text(self.numbers[index]).tag(index)
}
}
.pickerStyle(SegmentedPickerStyle())
if numbers[selectorIndex]=="Alphabetically"
{
ForEach(appointments_title)
{
order in
HStack
{
Text("\(order.title)").font(.headline)
Spacer()
Text("\(order.date, formatter: ContentView.self.taskDateFormat)").font(.headline)
}.padding(.bottom).contentShape(Rectangle())
.onTapGesture { order.isExpanded.toggle() }//.animation(.linear(duration: 0.3))
if order.isExpanded { Text("\(order.descript)").frame(maxWidth: .infinity, alignment: .topLeading).padding(.bottom) }
else { EmptyView() }
}
}
}
这是默认行为,与列表的格式有关。我会比较两组代码并检查:
它们可能具有不同的父视图结构(即在 NavigationView 中的位置不同),
您可能在代码中使用了部分或组,
您还可以在列表上添加 ListStyle 修饰符之一以覆盖其默认样式:
.listStyle(PlainListStyle())
.listStyle(InsetListStyle())
.listStyle(GroupedListStyle())
.listStyle(SidebarListStyle())
.listStyle(InsetGroupedListStyle())
.listStyle(DefaultListStyle())
在我升级到 Xcode 12 后,我的列表视图与其背景相比有不同的白色或黑色阴影(取决于浅色模式或深色模式)。但是我在同一个应用程序中的其他列表视图没问题。为什么? 下面是屏幕截图和随附的代码。请指教,谢谢
List
{
VStack
{
Picker("Numbers", selection: self.$selectorIndex)
{
ForEach(0..<self.numbers.count)
{
index in Text(self.numbers[index]).tag(index)
}
}
.pickerStyle(SegmentedPickerStyle())
if numbers[selectorIndex]=="Alphabetically"
{
ForEach(appointments_title)
{
order in
HStack
{
Text("\(order.title)").font(.headline)
Spacer()
Text("\(order.date, formatter: ContentView.self.taskDateFormat)").font(.headline)
}.padding(.bottom).contentShape(Rectangle())
.onTapGesture { order.isExpanded.toggle() }//.animation(.linear(duration: 0.3))
if order.isExpanded { Text("\(order.descript)").frame(maxWidth: .infinity, alignment: .topLeading).padding(.bottom) }
else { EmptyView() }
}
}
}
这是默认行为,与列表的格式有关。我会比较两组代码并检查:
它们可能具有不同的父视图结构(即在 NavigationView 中的位置不同),
您可能在代码中使用了部分或组,
您还可以在列表上添加 ListStyle 修饰符之一以覆盖其默认样式:
.listStyle(PlainListStyle()) .listStyle(InsetListStyle()) .listStyle(GroupedListStyle()) .listStyle(SidebarListStyle()) .listStyle(InsetGroupedListStyle()) .listStyle(DefaultListStyle())