You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI .move修饰器在iPhone及iOS 15 iPad模拟器上失效问题

SwiftUI onMove修饰器运行异常问题说明

复现表现

  • onMove修饰器在以下环境无法正常触发移动回调:运行iOS 14.7.1的iPhone设备、iOS 15.0版本iPad模拟器、14.5版本iPad Pro模拟器
  • 该修饰器在以下环境功能正常:运行14.7.1、14.4系统的iPad Pro真机、macCatalyst运行环境
  • 截至问题反馈时,苹果官方文档未标注onMoveAPI在iOS 15版本中被弃用

开发环境信息

开发设备为搭载M1芯片的MacBook,运行macOS 11.5.1系统,使用Xcode 13.0 beta 5进行开发

更新: 新增14.5版本iPad Pro模拟器测试,同样无法触发元素移动逻辑,可初步判断拖放重排相关能力在iOS模拟器上不受支持。iPhone端仅支持有限的系统级拖放能力,第三方应用内列表拖拽重排的适配存在系统层面限制。

问题示例代码

struct MoveElementsWork: View {
    @State private var elements = [1,2,3,4,5]
    var body: some View {
        List {
            ForEach(elements, id: \.self) { element in
                Text("\(element)")
            }
            .onMove { _,_ in
                print("Moving")
            }
        }
    }
}

排查建议

  • 上述示例代码未添加编辑模式入口,若要触发onMove逻辑,需要在导航栏添加EditButton(),进入编辑模式后才可唤起列表拖拽重排操作
  • 拖放相关功能调试优先使用真机进行,模拟器对该类API的支持存在缺陷,无法复现真机的完整运行表现

内容的提问来源于stack exchange,提问作者cire1776

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 23:30:04