我想将列表中所选项目的强调色更改为浅灰色,最好带有一点不透明度。下面是我想要的截图,取自不同的应用程序。
在我的项目中,我在 Assets.xcassets
下并将 AccentColor
设置为:
但事实证明,应用程序中的颜色更深且没有不透明度:
有人知道为什么会这样吗?
以下是我的观点:
import CoreData
import SwiftUI
struct Sidebar: View {
@Environment(\.managedObjectContext)
private var viewContext
@FetchRequest(entity: Element.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \Element.title, ascending: false)])
private var elements: FetchedResults<Element>
@AppStorage("SelectedElementId")
var selectedElementId: String?
var body: some View {
VStack(alignment: .leading) {
List(selection: self.$selectedElementId) {
ForEach(self.elements) { element in
NavigationLink(destination: ContentView(), tag: element.id!, selection: self.$selectedElementId) {
Text(element.title!)
}
}
}.listStyle(SidebarListStyle())
Button(action: addElement) {
HStack {
Text("Add element")
}
}
}
}
private func addElement() {
let element = Element(context: viewContext)
element.id = UUID().uuidString
element.title = "My title"
self.selectedElementId = element.id
do {
try self.viewContext.save()
} catch {
let nsError = error as NSError
fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
}
}
}