SwiftUI 的 List/ForEach 视图中是不是可以有一个 Button(action: -)
Posted
技术标签:
【中文标题】SwiftUI 的 List/ForEach 视图中是不是可以有一个 Button(action: -)【英文标题】:Is it possible to have a Button(action: -) in a List/ForEach view in SwiftUISwiftUI 的 List/ForEach 视图中是否可以有一个 Button(action: -) 【发布时间】:2020-05-04 07:06:46 【问题描述】:我想将Button(action: -
视图添加到其中包含ForEach
的列表视图中,其中包含NavigationLink
。因此,用户可以查看具有Button(action: -
的列表的详细信息屏幕,但是如果用户不需要查看详细信息,则可以在列表中使用Button
进行选择。
List
ForEach(DATA, id: \.self data in
NavigationLink(destination: DetailView(data: data))
HStack
Text(data.name)
Button(action:
// add to an array
)
Text(data.price)
但是当我点击按钮时,总是会进入 DetailView
不确定是否可行。任何建议
【问题讨论】:
【参考方案1】:这是可能的方法
List
ForEach(DATA, id: \.self data in
NavigationLink(destination: DetailView(data: data))
HStack
Text(data.name)
Button(action:
// add to an array
)
Text(data.price) // some padding might be useful
.foregroundColor(Color.blue) // << can be any
.buttonStyle(PlainButtonStyle()) // << here !!
【讨论】:
以上是关于SwiftUI 的 List/ForEach 视图中是不是可以有一个 Button(action: -)的主要内容,如果未能解决你的问题,请参考以下文章
使用 SwiftUI List()、ForEach()、.onTapGesture WatchOS6 传递值的问题
带有 Xcode 11 beta 7 的 SwiftUI 未更新 List / ForEach 的内容