提问人:yoprst 提问时间:2/15/2020 更新时间:2/15/2020 访问量:5834
带有 NavigationLink 的 SwiftUI 列表。如何在点击时更改高亮颜色?
SwiftUI List with NavigationLink. How to change highlight color on tap?
问:
我有一个包含 NavigationLink 的列表。当我点击一行时,它会突出显示。连接到用户界面样式(在 info.plist 中)的颜色,它可以是深色或浅色。如何更改此高光的颜色?我在这里使用“EpmtyView()”和“.buttonStyle()”建立了一些决定,但它们在我的情况下不起作用。使用自定义按钮样式时,仅突出显示单元格的内容(例如文本),而不突出显示单元格本身。我认为,与“selectionStyle”有关的问题导致“UITableViewCell.appearance().selectionStyle = .none”删除此突出显示。
struct ContentView: View {
var myArray = ["one", "two", "three"]
init() {
UITableView.appearance().backgroundColor = UIColor.clear
}
var body: some View {
NavigationView {
VStack {
List {
ForEach(self.myArray, id: \.self) { text in
NavigationLink(destination: DestinationView()) {
MyRow(text: text)
}
.listRowBackground(Color.black)
}
}.listStyle(GroupedListStyle())
}.background(Color.black)
}
}
}
extension UINavigationController {
override open func viewDidLoad() {
super.viewDidLoad()
let standartAppearance = UINavigationBarAppearance()
standartAppearance.backgroundColor = UIColor.black
navigationBar.standardAppearance = standartAppearance
navigationBar.scrollEdgeAppearance = standartAppearance
navigationBar.compactAppearance = standartAppearance
}
}
答: 暂无答案
评论