如何在 SwiftUI ForEach 内容中将多个按钮操作分开?

2023-12-13

我有一个带有复选框、标题和计时器图标的项目列表:

enter image description here

复选框是一个按钮,计时器图标是一个具有与其关联的独特操作的按钮。但是,如果我点击单元格内的任何位置,它会同时触发两个按钮操作。它们的目的是彼此独立运行以及单元中的水龙头独立运行。如何修改以下代码以保持操作分开?

List {
      ForEach(tasks, id: \.self) { task in
            HStack {

                Button(action: {
                    task.isComplete.toggle()
                    try? self.moc.save()
                    print("Done button tapped")
                }) {
                    Image(systemName: task.isComplete ? "square.fill" : "square")
                }
                .padding()

                Text(task.name ?? "Unknown Task")
                Spacer()

                Button(action: {
                    print("timer button tapped")
                }) {
                    Image("timer")
                }    
            }
        }
        .onDelete(perform: deleteTask)
    }

这是列表的默认行为,它标识行中的按钮并使整行处于活动状态,请改为使用.onTapGesture如下

List {
      ForEach(tasks, id: \.self) { task in
            HStack {

                Image(systemName: task.isComplete ? "square.fill" : "square")
                .padding()
                .onTapGesture {
                    task.isComplete.toggle()
                    try? self.moc.save()
                    print("Done button tapped")
                }

                Text(task.name ?? "Unknown Task")
                Spacer()

                Image("timer")
                .onTapGesture {
                    print("timer button tapped")
                }    
            }
        }
        .onDelete(perform: deleteTask)
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 SwiftUI ForEach 内容中将多个按钮操作分开? 的相关文章

随机推荐

  • ICommand CanExecuteChanged 未更新

    我正在尝试 MVVM 模式基础级别 并对 ICommand CanExecute 更改感到震惊 我的 XAML 绑定如下
  • 调整图像亮度

    对于 Windows Phone 应用程序 当我通过滑块调整亮度时 它工作正常 将其移至右侧 但是当我回到之前的位置时 图像不是变暗 而是变得越来越亮 这是我基于像素操作的代码 private void slider1 ValueChang
  • SQL / MySQL - 按列长度排序

    在 MySQL 中 有没有办法按列的长度 字符 对结果进行排序 例如 myColumn lor lorem lorem ip lorem ips lorem ipsum 我想首先按最小的列长度 lor 对结果进行排序 然后以最大的列长度 l
  • 为什么析构函数挂起

    下面的代码工作正常 但是 当我启用p b in GetValue 代码失败 调试断言失败 为什么 class A int p public A p nullptr A if p nullptr delete p void GetValue
  • 如何为 json 负载定义 swagger 注释

    如何为此示例定义 swagger 注释 API TenantConfiguration 作为 json 负载获取 Consumes application json application xml POST public Message c
  • 本地主机上跨子域的用户身份验证

    我正在我的本地主机上构建一个应用程序 当我通过一个子域 例如 sub localhost 登录时 我需要在应用程序的所有其他子域 例如 sub2 localhost sub3 localhost 中使用 Auth 访问该登录用户 我将其更改
  • Pandas 风格:在整行上绘制边框,包括多索引

    我在 jupyter 笔记本中使用 pandas 样式来强调此数据框中子组之间的边界 从技术上讲 在每个更改的多重索引处绘制边框 但忽略最低级别 some sample df with multiindex res np repeat re
  • wordnet getDict() 找不到 Wordnet 词典

    当使用以下代码使用 WordNet 中的 Lemmatizer 算法时 gt initDict C Program Files x86 WordNet 2 1 dict 1 TRUE if initDict C Program Files
  • 在 Python 中将多字节字符转换为 7 位 ASCII

    我正在通过 Python 脚本下载并解析网页 我需要它 被编码为 7 位 ASCII 以便进一步处理 我正在使用 请求库 http docs python requests org en master 在一个 virtualenv 基于 U
  • 如何在 ListView 中访问 WebView 的 NavigateToString 属性

    我有一个ListView除其他外 其中包含WebView 当一个ListViewItem在此列表中被选中 我想将 HTML 绑定到WebView通过NavigateToString方法 WebView 需要位于绑定列表中 因为它绑定到项目列
  • 将本地 PDF 文件加载到 WebView 中

    我正在尝试将以下功能放入我正在编写的 iOS 应用程序中 在 XCode 中的项目的资源文件夹中发送一组 PDF 将 PDF 复制到应用程序目录 在网络视图中打开 PDF 据我所知 前两个步骤工作正常 我在复制操作后使用 FileManag
  • 使用 WPF WriteableBitmap.BackBuffer 绘制线条

    您是否知道任何库提供使用 WPF WriteableBitmap 和理想情况下 BackBuffer 绘制简单形状 线条和可选的其他形状 的方法 我知道有一个针对 silverlight 的 WriteableBitmapEx 项目 但是有
  • 如何使用 VBA 代码添加新电子表格

    我正在创建一个宏 宏的部分功能是让 VBA 创建一个新的电子表格 由于发行的性质 名称将会改变 我需要向此电子表格添加代码 无论如何我可以做到这一点吗 乔克已经解释了它是如何工作的 我会更进一步 添加工作表的语法是 expression A
  • /YYYY/MM/Title-Slug URL 结构与Friendly_Id 解决方案在#edit 上阻塞

    根据我得到的指导先前的问题在解决我的实现 YYYY MM Slug URL 结构的原始问题 我希望得到一些帮助来解决我在尝试编辑帖子时收到的错误 没有路由匹配 PATCH blog 2015 09 example post blog 201
  • 如何在android jdk中动态地用ImageView填充TableLayout?

    I ve a TableLayout我的元素main xml
  • ajax文件上传

    我正在努力在不重新加载页面的情况下上传 处理和显示文件 我该如何使用 jquery 将文件正确发布到服务器
  • AJAX:如何在单击按钮时更改客户端和服务器端的值?

    在接下来的SSCCE中 我有一个字符串 其中包含三个的 HTMLdivs I add a style display none 归因于所有div除了第一个之外 我给所有的按钮添加了一个按钮divs除了最后一个 并添加一个JSonclick事
  • 如何在8086汇编中生成随机数? [复制]

    这个问题在这里已经有答案了 我想知道是否有使用汇编生成随机数的例程或指令 在 8086 上 任何帮助将不胜感激 最常见的方法是使用时间戳 在 32 位模式下可以通过以下方式完成rdtsc指令 在16位模式下 使用BIOS中断1A的功能0 因
  • 如何对多维字典中的值求和?

    通常我会使用 sum dict A values 来对字典中带有键 A 的所有值求和 然而 在这种情况下 我想要求和的不是 主 键的所有值 而是 辅助 子键 具有特定名称的所有值 让我在下面展示一个简化的例子 dict A val1 3 v
  • 如何在 SwiftUI ForEach 内容中将多个按钮操作分开?

    我有一个带有复选框 标题和计时器图标的项目列表 复选框是一个按钮 计时器图标是一个具有与其关联的独特操作的按钮 但是 如果我点击单元格内的任何位置 它会同时触发两个按钮操作 它们的目的是彼此独立运行以及单元中的水龙头独立运行 如何修改以下代