swiftui - SwiftUI:使用 ListView 的替代方案?
问题描述
我想要一个可滚动的列表,当点击每一行时,它会将您带到不同的视图。在每一行内,我希望有一个心形按钮,当点击它时会覆盖导航行为,只是切换一个心形填充/取消填充。
作为这样做的替代方案,在 NavigationView 中使用 ScrollView 并让每个列表项成为 ScrollView 是否有意义VStack
?
伪代码层次结构:
NavigationView {
ScrollView {
VStack {
// Button
}
}
}
有没有更好的方法(或更首选的方法)来实现这一点?
解决方案
let items = ["A","B"]
var body: some View {
ScrollView {
LazyVStack(spacing: 10) {
ForEach(items, id: \.self) { item in
Text(item)
}
}
}
}
推荐阅读
- swift - 模态控制器在关闭时仍然是最顶层的视图控制器
- c# - 从所有 XML 值中修剪空格
- r - ggplot:将两个变量绘制成一个方面
- node.js - 如何使用 localhost 连接 docker 容器?
- istio - 多个 TCP 服务未根据 hosts 字段正确路由
- javascript - 如何设置 mxGraph 顶点的最小尺寸(因此工具提示适用于最小的)?
- javascript - 使用带有异步功能的 ajax 获取数据
- mongodb - 如何从事务集合中获取 master 中所有记录的数据
- python - 为 dask 中的行创建唯一 ID
- ruby-on-rails - 无法部署 heroku,git push heroku 失败,NameError: undefined local variable or method `honey'