gpt4 book ai didi

ios - 在 SwiftUI 的列表行(TableviewCell)中单击按钮导航到详细 View

转载 作者:行者123 更新时间:2023-12-05 03:22:45 25 4
gpt4 key购买 nike

我有带单元格的 List/TableView。现在每个单元格都包含有关给定项目的详细信息和一些按钮,如编辑项目、显示项目详细信息、显示给定项目的 subview 等。

现在,为了显示 Item 的详细信息,我尝试添加 NavigationLink,但现在如果有人点击该单元格的任何地方,它就会移动到详细信息屏幕。

我不想通过点击屏幕上的任何地方移动到详细信息屏幕,我只想在有人点击该单元格中的“显示详细信息”按钮时推送详细信息屏幕。

最佳答案

  1. navigationLink 上使用 .hidden() 修饰符来防止列表项捕获它的操作

  2. .buttonStyleautomatic 更改为 list item 上的 something 以防止它从捕获按钮 Action 。 (例如 borderless)

工作演示

struct ContentView: View {
@State var selectedTag: Int?

var body: some View {
NavigationView {
List(1...10, id: \.self) { id in
HStack {
Text("Item \(id: id)")
Spacer()

Button("Show detail") { selectedTag = id }
.background(link(id))
}.buttonStyle(.borderless) /// 👈 ⚠️ on the item! **NOT** on the button!!!
}
}
}

func link(id: Int) -> some View {
NavigationLink("",
destination: Text("\(id) Selected"),
tag: id,
selection: $selectedTag
).hidden()
}
}

关于ios - 在 SwiftUI 的列表行(TableviewCell)中单击按钮导航到详细 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72644330/

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