gpt4 book ai didi

list - 带有 NavigationLink 的 SwiftUI 列表如何在点击时自定义突出显示

转载 作者:行者123 更新时间:2023-12-03 23:35:30 26 4
gpt4 key购买 nike

我如何定制 叠加在列表行上,将在点击时突出显示它。我正在使用 导航链接 我改变了

UITableViewCell.appearance().cellSelectionStyle = .none 

为了不使用默认的灰色选择。

我试图添加一些 @State isSelected到我的 Cell,但我不知道如何/何时更改它以获得这种影响。我试过添加 onTapGesture()但它阻止了 NavigationLink,并且不提供开始、结束状态,刚刚结束。

最佳答案

我这样做:

List {
ForEach(0..<self.contacts.count) { i in
ZStack {
NavigationLink(destination: ContactDetails(contact: self.contacts[i])) {
EmptyView()
}.opacity(0)

Button(action: {}) {
ContactRow(contact: self.contacts[i])
}.buttonStyle(ListButtonStyle())
}.listRowBackground( (i%2 == 0) ? Color("DarkRowBackground") : .white)
.listRowInsets(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 0))
}
}

ButtonStyle :
struct ListButtonStyle: ButtonStyle {

func makeBody(configuration: Self.Configuration) -> some View {

configuration.label
.overlay(configuration.isPressed ? Color("Dim").opacity(0.4) : Color.clear)
}
}

关于list - 带有 NavigationLink 的 SwiftUI 列表如何在点击时自定义突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59089400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com