如何在 SwiftUI 列表中设置选定的行背景颜色?
Posted
技术标签:
【中文标题】如何在 SwiftUI 列表中设置选定的行背景颜色?【英文标题】:How do I set the selected row background color in a SwiftUI List? 【发布时间】:2021-11-02 01:05:53 【问题描述】:我在 SwiftUI 中使用标准列表,并想修改所选行的背景颜色。
代码如下:
...
List
ForEach(recipesToShow, id: \.self) recipe in
NavigationLink(destination: RecipeDetailWrapper(recipe: recipe))
RecipeListRow(recipe: recipe)
.environmentObject(recipeDateFormatter)
.onDelete(perform: deleteRecipe)
//: LIST
.listStyle(PlainListStyle())
...
这是默认的外观:
【问题讨论】:
嗯,这是第一次。看起来我难倒了整个社区。仍然希望有人能提供一些有价值的见解。 【参考方案1】:您可以使用修饰符 .listRowBackground(Color.blue) 来修改列表的背景颜色。
对于特定的项目,我会添加一个状态变量来存储被点击元素的 id,然后在列表的每个项目中对其进行评估,
你可以在这里查看答案:
How do you change the select color of a navigation link in a list
我认为这是你需要的。
【讨论】:
感谢您提供此信息。不幸的是,这两个选项都不起作用。当我找到解决方案时,我会回过头来。以上是关于如何在 SwiftUI 列表中设置选定的行背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章
在 NavigationView 的 SwiftUI 列表中设置雪佛龙的颜色