问题描述
如何在 SwiftUI 中更改所选列表项的文本颜色?我可以动态执行此操作,以便 if 始终与所选行的背景颜色形成对比色吗?
password_saved = {}
...
password = str(input("What is your password that you want to save?"))
url = str(input("Which is the site that you want your password to save to?"))
password_saved[url] = password
with open('password_saved','wb') as password_saved_file:
pickle.dump(password_saved,password_saved_file)
print(password_saved)
解决方法
可能有变体,但一般来说,您必须以某种方式将选择与行文本一起传递到视图中,并有条件地应用前景色,例如
NavigationLink(
destination: ItemDetail(item: item)
) {
ItemRow(item: item,selected: item == selectedItem)
}
并在ItemRow
Text(item.title)
.foregroundColor(selected ? .blue : .labelColor)
注意:您可以使用浅色/深色模式变体设置在颜色资产中创建的自定义颜色,而不是 .blue
,因此选择在这些模式中具有不同的颜色。