如何在 SwiftUI 中清除列表项上的默认突出显示灰色?
Posted
技术标签:
【中文标题】如何在 SwiftUI 中清除列表项上的默认突出显示灰色?【英文标题】:How can I clear default highlighted gray color on list item in SwiftUI? 【发布时间】:2020-03-31 13:18:06 【问题描述】:我无法更改 List
项目的突出显示颜色,在 UIKit Id 中轻松更改 TableViewCell
的 Selection
属性元素 Default 到 None .我找不到这样一个简单交互的解决方案,有什么我遗漏的吗?
谢谢。
编辑:我试过了,但没用。
NavigationLink(destination: DetailView(detail: self.viewModel.characters.results[index]))
CharacterCell(character: self.viewModel.characters.results[index])
.buttonStyle(PlainButtonStyle())
【问题讨论】:
这能回答你的问题吗? How to remove highlight on tap of List with SwiftUI? 不,没用。 :// 【参考方案1】:将代码添加到 init()
init()
// Set selected (onTapped) background color of cell.
let color = UIView()
color.backgroundColor = UIColor.red
UITableViewCell.appearance().selectedBackgroundView = color
例如:
import SwiftUI
struct SomeView: View
init()
// Set selected (onTapped) background color of cell.
let color = UIView()
color.backgroundColor = UIColor.red
UITableViewCell.appearance().selectedBackgroundView = color
var body: some View
// Your List/ForEach code
Text(/"Hello, World!")
我注意到 swiftUI 预览没有显示更改,但是在模拟器中或在设备上运行时您会看到效果。
在您的情况下,您将设置 UIColor.clear ,这应该会根据需要消除灰色。
【讨论】:
以上是关于如何在 SwiftUI 中清除列表项上的默认突出显示灰色?的主要内容,如果未能解决你的问题,请参考以下文章