如何在 SwiftUI 中创建彼此分开的列表行

2024-01-10

我是 SwiftUI 新手

我正在尝试创建这样的部分,其中每一行都与另一行分开。有点像背景彼此不连接的部分。看看图片:(图片来自 dribbble)

但我的结果是这样的: (我创建了蓝色背景,以便大家可以清楚地看到行)

这是我的代码:

import SwiftUI

struct ProductPageView: View {

init() {
        UITableView.appearance().backgroundColor = .clear // Uses UIColor
    }

var body: some View {
    NavigationView {
        ZStack {
            Color.blue.edgesIgnoringSafeArea(.all)
            VStack {
                List {
                    ForEach(arrayProduct, id: \.name) { dataProduct in
                        ProductListCell(item: dataProduct)
                    }
                    .listRowInsets(EdgeInsets(top: 10, leading: 10, bottom: 10, trailing: 10))
                }
                .listStyle(InsetGroupedListStyle())
            }
        }
        .navigationTitle("Produk")
    }
}
}

我用过listRowInsets但这只是拉伸它。 如何创建行之间的分隔?

任何帮助将不胜感激。

谢谢


我没有尝试像素完美的再现,因为我没有资源,但以下概述了实现此目的的一种方法。

代码中的注释解释了一些关键部分:

import SwiftUI

struct ContentView: View {
    var body: some View {
        NavigationView {
            ZStack {
                Color.blue.edgesIgnoringSafeArea(.all)
                VStack {
                    // This handles the display of the
                    // section header
                    HStack {
                        // The text & spacer are grouped
                        // so that you can pad accordingly
                        Text("Stuff")
                        Spacer()
                    }
                    .padding(.bottom, 2)
                    .padding(.leading, 10)
                    // A VStack contains your list of items
                    VStack {
                        ForEach(0...3, id: \.self) { element in
                            // Each grouping (a product for you)
                            // will exist within this top level
                            // HStack
                            HStack {
                                // A new HStack (or another view of
                                // your choice) will contain the views
                                // that compose your product entry
                                HStack {
                                    Text("\(element)")
                                    Spacer()
                                }
                                .padding() // Provides some buffer around the product
                                .background(Color.white)
                                .contentShape(Rectangle()) // For tapping
                                .cornerRadius(5.0)// Rounding!
                            }
                            // Custom padding can tailor your spacing needs
                            .padding([.top, .bottom], 2)
                            .padding([.trailing, .leading], 10)
                        }
                    }
                    Spacer()
                }
            }
            .navigationTitle("Produk")
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 SwiftUI 中创建彼此分开的列表行 的相关文章

随机推荐

  • 检查文本字段值长度

    我想看看文本字段长度是否至少达到一定长度 这是我的代码
  • 在尝试加载 YouTube 视频之前,如何判断该视频是否可嵌入?

    我有一个无铬 YouTube 播放器 我正在尝试将视频加载到其中 但只有部分视频可以工作 而不是全部 如果我没记错的话 那些未加载的内容是由于版权侵权 例如 卡通片的某些剧集无法加载 但孩子做后空翻的家庭电影可以加载 我想做的是找出这些视频
  • TRichEdit 支持 Unicode 吗?

    我正在尝试编写一个包装类TRichEdit可以将 RTF 编码和解码为明文 这是我到目前为止所写的 type TRTF class private FRichEdit TRichEdit procedure SetText const AT
  • 如何向数据库中插入多条记录

    如何使用 Rails 语法将多条记录插入数据库 INSERT INTO users email name VALUES email protected cdn cgi l email protection a email protected
  • k&R,getchar如何读取EOF

    在阅读 k r 时 我遇到了以下示例 include
  • UITableViewController 与 UIViewController

    全部做什么UITableViewController让我知道它真的有用吗 使用它而不是仅仅使用有什么好处吗UIViewController观看与UITableViews在他们中 我问是因为我想表达我的观点UITableViews从基本视图控
  • 在 lts-7.8 及更高版本上构建依赖于 gtk2hs 的项目失败

    在 lts 7 8 上以及 Cabal 变为 1 24 1 0 之后 构建依赖于 glib 的项目失败 重现步骤 将 glib 添加到项目的 cabal 文件中 build depends base gtktest glib 运行以下命令
  • PHP 将除某些单词之外的所有字母大写(包括斜线之后)

    我想使用 PHP 通过将每个单词大写来清理一些标题 包括斜杠后面的单词 但是 我不想将 and of 和 the 等词大写 以下是两个示例字符串 会计技术 技术员和簿记 脊柱骨科手术 应更正为 会计技术 技术员和簿记 脊柱骨科手术 这是我目
  • NHibernate.StaleStateException:意外的行数:0;预计:1

    Hl Guys 我正忙于为现有系统编写后端管理程序 我选择 NHibernate 作为我的数据访问解决方案 并且对它还很陌生 我在父 子关系中遇到以下错误 NHibernate StaleStateException 意外的行数 0 预计
  • 具有包罗万象的路由的 ASP.NET Web API PUT

    使用新的 Web api 是否可以使用像这样的 catch all 路由 routes MapHttpRoute name name routeTemplate api id defaults new controller mycontro
  • 如何在Angular场景测试中的输入中触发

    我正在使用 Angular Scenario 测试运行程序编写测试 在传统表单中 我可以在输入中输入文本 但我需要按 Enter 来执行查询 并且没有可供单击的按钮 当然有一些简单的方法可以做到这一点 但我不知道它是什么 input que
  • 如果我通过 pip install pyspark 安装了 pyspark 在哪里修改spark-defaults.conf

    我通过安装了 pyspark 3 2 0pip install pyspark 我已在名为 pyspark 的 conda 环境中安装了 pyspark 我找不到spark defaults conf 我正在寻找它 miniconda3 e
  • VSCode 中自动缩进代码的快捷方式是什么?

    不过 我同时使用 C 和 Pythonctrl k f似乎没有自动缩进我的代码 我可能缺少什么吗 如果我需要安装一个扩展 那是可以的 但如果有的话 我更愿意使用内置方法 我想知道同样的事情并找到这个本地解决方案 On Windows Shi
  • 无法启动 mongo 数据库

    我已经完成了以下链接中提到的mongodb安装过程https docs mongodb com manual installation https docs mongodb com manual installation 但我无法启动 mo
  • 这种多对多关系的“Owning Side”是如何确定的呢?

    我正在努力牢牢掌握业主方的概念 从我在这里发现的任何问题中都无法真正获得清晰的图片 基本上我正在学习 Java EE JPA 教程 他们具有以下数据库架构 其中PLAYER and TEAM具有多对多关系 还说明 一名球员可以效力于多支球队
  • 如何明智地使用StringBuilder?

    我对使用有点困惑StringBuilder班级 第一 A string对象串联操作总是从现有对象创建一个新对象string和新数据 AStringBuilder对象维护一个缓冲区来容纳新数据的串联 如果有可用空间 新数据将附加到缓冲区末尾
  • java.awt.geom.Area 在 Android 中的等价物是什么?

    我想构建复杂的形状作为两个圆形和一个矩形的交集 经过一番研究后 java awt geom Area http docs oracle com javase tutorial 2d advanced complexshapes html类似
  • 按钮或图像上的 Swiftui macOS 弹出框

    我希望我能做如图所示的事情 我正在尝试使用这段代码 但我不太明白如何修复它 我希望我能用它Button或在ImageMac这应该是一个图像 谁能帮我吗 Code func showLittlePopoverWithMessage sende
  • openPyXL - 在取消合并期间为单元格范围赋值

    因此 我有 Excel 文件 每个文件中都有几张工作表 我正在编写脚本 该脚本将从选定的工作表中收集数据 如果它们存在于文件中 并将其合并到一张大工作表中 一般来说 它正在工作 迭代文件 如果存在所需的工作表 它会找到包含数据的单元格范围并
  • 如何在 SwiftUI 中创建彼此分开的列表行

    我是 SwiftUI 新手 我正在尝试创建这样的部分 其中每一行都与另一行分开 有点像背景彼此不连接的部分 看看图片 图片来自 dribbble 但我的结果是这样的 我创建了蓝色背景 以便大家可以清楚地看到行 这是我的代码 import S