如何允许在不处于编辑模式的情况下对 SwiftUI 列表中的行进行重新排序?

2023-11-27

是否可以在不处于编辑模式的情况下允许对 SwiftUI 列表中的行进行重新排序?

那就是给行一个右手汉堡菜单图标,他们可以用它来重新排序一行? (就像在编辑模式下可能的那样)


如果我正确理解你的问题,那么可以这样做:

import SwiftUI

struct TestEditModeCustomRelocate: View {
    @State private var objects = ["1", "2", "3"]
    @State var editMode: EditMode = .active
    
    var body: some View {
        List {
            ForEach(objects, id: \.self) { object in
                Text("Row \(object)")
            }
            .onMove(perform: relocate)
        }
        .environment(\.editMode, $editMode)
    }
    
    func relocate(from source: IndexSet, to destination: Int) {
        objects.move(fromOffsets: source, toOffset: destination)
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何允许在不处于编辑模式的情况下对 SwiftUI 列表中的行进行重新排序? 的相关文章

  • SwiftUI 从一个列表拖动到另一个列表

    我正在尝试在列表之间拖放 我尝试过的 我找到了一个在 UIKIt 中执行此操作并使用 UIViewControllerRepresentable 的解决方案 但这不是我想要的 另一个解决方案是在列表上使用 onDrag 但这在 iPad 上
  • SwiftUI 关闭多个模态表

    我在用 sheet isPresented self showModal 在我的根视图中呈现一个模式 在模态中 我正在使用NavigationView引导用户浏览各个页面 对于用户配置文件构建器 在导航堆栈的最后一页中 我正在使用 Envi
  • SwiftUI ScrollView 无法禁用垂直弹跳?

    初始化程序中有一个带有 ScrollView alwaysBounceVertical false 的属性 但我似乎找不到它了 有谁知道如何禁用 SwiftUI ScrollView 上的垂直弹跳 过度滚动 是的 它已从 ScrollVie
  • 上下文菜单未在 SwiftUI 中更新

    我正在尝试设置 SwiftUI contextMenu带有一个切换按钮Bool价值 上下文菜单的按钮文本应该在以下情况下更改 Bool切换 但上下文菜单不会更新 有没有办法强制更新上下文菜单 描述问题的示例代码 import SwiftUI
  • SwiftUI - 取决于多个条件

    SwiftUI 中是否可以依赖多个条件 例如显示一个工作表 sheet isPresented stateA stateB content this is not working 或者已知有不同的方法 我只能带你去看门 c 墨菲斯 今天是运
  • macCatalyst/ SwiftUI 触摸栏

    如何在使用 SwiftUI 编写的 Catalyst Apps 中添加 Touch Bar 支持 例如 如果我想在视图中显示一个按钮 import SwiftUI struct ContentView View var body some
  • 我想为 TabBar 设置背景

    I don t know how to change the background of the TabBar by an Image I try to change the background of TabBar not try to
  • 如何在 SwiftUI 中同时检测链接上的点击和点击坐标?

    在我的 SwiftUI 应用程序中 文本的某些部分需要可点击 点击时 应该发生一些自定义操作 不一定要打开网页 同时我需要检测点击坐标 我打算为此使用拖动手势处理程序 我使用以下方法实现了可点击文本作为链接AttributedString
  • Xcode 11 beta swift ui 预览未显示

    只是使用 Swift UI 基本应用程序 即使我处于画布模式 预览画布也不会显示 应用程序运行 我有这个小片段 我错过了什么 if DEBUG struct ContentView Previews PreviewProvider stat
  • ScrollView 内的 SwiftUI 列表

    我想将列表放在 ScrollView 中 以便可以一起滚动列表行和标题 但我发现 ScrollView 中的 List 不起作用 它什么也没显示 我应该同时使用它们 我应该使用 ScrollView 这样当我滚动行时 我可以使标题 图像或文
  • SwiftUI - NavigationSplitView 内的 NavigationStack 内的嵌套链接不起作用

    我正在尝试 ipadOS16 macOS13 中提供的新导航 API 但在弄清楚如何在 macOS 13 上将 NavigationSplitView NavigationStack 和 NavigationLink 组合在一起时遇到了一些
  • SwiftUI 表未正确取消初始化关联实例

    我在 SwiftUI 中遇到了与工作表演示相关的令人费解的行为 当关闭工作表时 我注意到关联的实例 工作表视图持有的视图模型 似乎没有正确取消初始化 根据我的测试 唯一的情况是deinit使用时按预期被调用 StateObject 相比之下
  • SwiftUI 有模糊背景的方法吗?

    我希望模糊视图的背景 但不想必须突破 UIKit 才能完成它 例如 UIVisualEffectView 我正在翻阅文档却一无所获 似乎没有办法实时剪辑背景并对它应用效果 我错了还是以错误的方式看待它 1 Native SwiftUI方式
  • Swift Joint:在可观察对象中使用计时器发布者

    在这个问题被标记为重复之前这另一个问题 https stackoverflow com questions 57199922 create a timer publisher using swift combine 我试图了解出版商是如何运
  • SwiftUI - ForEach 与 Stride

    我试图创建一个 Hstack d 卡列表 也就是说 我想创建一系列行的滚动视图 每行将包含一个 HStack 其中两个视图并排显示 并由某种列表数据结构初始化 struct MyHStackView View var myArray Som
  • Xcode 12 根本没有调用动态链接 Firebase 函数?

    因此 我有一个正在运行的动态链接 当我单击它时它会打开应用程序 但不会发生动态链接的处理 这是因为下面看到的应用程序功能从未输入过 我不知道为什么 func handleIncomingDynamicLink dynamicLink Dyn
  • 如何在 iPhone 上使用 SwiftUI 显示表格数据?

    我正在为当地的体育联盟开发一个应用程序 一个视图将是当前排名 每行有几个字段 球队名称 已玩的比赛 得分等 我希望球队列左对齐 其他列右对齐 似乎最好的答案是 SwiftUI 的 Table 但在 iPhone 上 它只显示第一列 我尝试过
  • 具有图形样式的 DatePicker 打破了 iOS 16.0 上的布局限制

    以下代码在 iOS 16 0 的 Xcode 14 0 0 Beta 5 上运行时打破了布局约束 struct ContentView View State var date Date var body some View DatePick
  • 处理 SwiftUI 视图中的可选值/nil 值 - 在 SwiftUI 中使用 if let [重复]

    这个问题在这里已经有答案了 视图通常不允许可选参数值 从而导致类似的错误Initializer init requires that String conform to StringProtocol struct Person var na
  • iOS 14 无效的框架尺寸(负或非有限)

    我的应用程序使用 GeometryReader 和一些填充来设置 NavigationView 内的视图框架尺寸 从 iOS 14 开始 我收到以下错误消息 框架尺寸无效 负或非有限 这是一些要测试的示例代码 import SwiftUI

随机推荐

  • 詹金斯作业重启后消失

    我在 Jenkins 1 5 31 中遇到这个奇怪的问题 我已经配置了 Maven 作业 我仍然在 Jenkins Home 目录中看到它 尽管我仍然可以通过默认端口 8080 访问 Jenkins 但我的 Jenkins Windows
  • 如何在gdb中打印-0x4(%rbp)?

    反汇编中有这样的代码 movl 0x6 0x4 rbp 我尝试以这种方式打印该值但失败 gdb p 0x4 esp A syntax error in expression near esp gdb p 0x4 esp Argument t
  • 为什么我的dispatch_once会陷入僵局?

    为什么我会陷入僵局 void foo static dispatch once t onceToken dispatch once onceToken self foo whatever 我预计foo第一次调用时执行两次 现有的答案都不是很
  • MCrypt rijndael-256 到 OpenSSL aes-256-ecb 转换

    由于 Mcrypt 已被弃用 我想在代码中使用 OpenSSL 因为我们已经在服务器中使用 php 7 2 4 我使用以下代码进行加密 解密 加密 function encrypt text salt if text return if s
  • 增加 EWS 流订阅连接的生命周期元素

    使用 Microsoft 的 EWS 我们能够监听邮箱并在收到新电子邮件时采取行动 但是 我不知道如何避免连接超时 根据 Microsoft 的说法 以下是 StreamingSubscriptionConnection 的构造函数 pub
  • django模板系统,调用模型内的函数

    我想在模板中调用模型中的函数 例如 class ChannelStatus models Model def get related deltas self epk mystring if not self get error code d
  • 将信息从 Chromium Embedded (Javascript) 发送到包含 C++ 的应用程序

    查看 Chromium 嵌入式框架示例后 我有一个问题 我需要与窗口的嵌入部分进行本机交互 然而 在 CEF 示例中 我看到的只是 c 向浏览器发送消息 而不是相反 我想知道是否有任何方法可以从 JavaScript 从 C 发送消息 就像
  • R 将因子 ID 变量转换为数字 ID 变量

    我对 R 编程有疑问 在花了几个小时查看互联网和 Stack Overflow 上的潜在响应后 我不知道如何解决它 我在 data frame 的一列中有一个因子变量 如下所示 Columnname agsgssg agsgssg agsg
  • 将设备中的磁场 X、Y、Z 值转换为全局参考系

    当您使用 TYPE MAGNETOMETER 传感器时 您将获得与设备方向相关的磁场强度的 X Y Z 值 我想要得到的是将这些值转换为全局参考系 澄清 用户拿起设备 测量这些值 然后将设备绕任何轴旋转一定角度并获得相同的值 请在下面找到类
  • 如何找到数组中至少重复N/2次的元素?

    给定一个包含 N 个元素的数组 我们知道其中一个元素至少重复 N 2 次 我们对其他元素一无所知 它们可能是重复的 也可能是唯一的 有没有办法找出单次重复至少 N 2 次或者可能是 O N 的元素 无需使用额外空间 由于其他用户已经发布了该
  • scikit-learn 中的分层训练/测试分割

    我需要将数据分为训练集 75 和测试集 25 我目前使用下面的代码来做到这一点 X Xt userInfo userInfo train sklearn cross validation train test split X userInf
  • 将 thunk 传递给 puppeteer 的 $.eval

    功能setValue接收一个值并返回一个函数 在第二个函数中 我试图控制台记录以下值value但我得到 Error Evaluation failed ReferenceError value is not defined 我的代码如下 可
  • C 定义的值意外更改

    我有很多 define在我的代码中 现在 一个奇怪的问题出现了 我有这个 define ImmSign 010100 我正在尝试模拟一个二进制数 显然 我期望这个数字变成10100 但是当我使用这个数字时 它已经变成了4160 这里发生了什
  • 用户定义的文字参数中的初始值设定项列表

    我不知道这是否可能 但我想做类似的事情 int someval 1 if 1 2 3 4 v contains someval 但是当我尝试将文字定义为 std vector
  • 用户身份验证未保留在 Laravel 包中

    这是我第一次尝试 Laravel 包 并遇到了一个问题 其中 Auth attempt credentials 在我的登录控制器中工作 但在重定向到受保护的路由或控制器时 用户不再经过身份验证 下面是我的登录控制器方法 其中重定向到仪表板已
  • 在 Windows 上使用 XAMPP 安装 PHP YAML 扩展

    大家好 我目前正在 PhP 上做一些工作 需要我使用以下方法解析 YAML 文件yaml parse file 功能 我对这门语言还很陌生 所以当我尝试在 Windows 上未经修改的 XAMPP 服务器上使用该函数时 我收到错误 找不到函
  • 如何单击或点击 TextView 文本

    我知道这很简单 doh 但我正在寻找一种方法来运行在 Android 应用程序中点击或单击 TextView 文本行的方法 我一直在考虑按钮侦听器和匿名方法侦听器调用 但它似乎不适用于 TextView 有人可以向我指出一些代码片段 以展示
  • HTML5 视频无法流式传输并且需要 90 秒才能加载

    我有一个 HTML5 视频播放器
  • 如果我的项目依赖于python和nodejs,如何编写.travis.yml?

    我的项目包括一些 python 代码并使用 grunt 构建 我写 travis yml like language node js before install pip install Django npm install g grunt
  • 如何允许在不处于编辑模式的情况下对 SwiftUI 列表中的行进行重新排序?

    是否可以在不处于编辑模式的情况下允许对 SwiftUI 列表中的行进行重新排序 那就是给行一个右手汉堡菜单图标 他们可以用它来重新排序一行 就像在编辑模式下可能的那样 如果我正确理解你的问题 那么可以这样做 import SwiftUI s