61、拖放交互技术全解析

拖放交互技术全解析

1. 缓慢数据交付

当你作为拖放交互委托,在 dropInteraction(_:performDrop:) 方法中请求数据时,无论是调用会话的 loadObjects(ofClass:) 还是项目提供者的 loadObject(ofClass:) ,数据到达时,完成函数会异步调用。这可能会花费相当长的时间,具体取决于实际情况。

默认情况下,如果数据交付耗时过长,运行时会弹出一个对话框来跟踪数据交付的整体进度,并允许用户取消操作。如果你愿意,也可以用自己的进度界面替换运行时的对话框。具体操作如下:
- 将拖放会话的 progressIndicatorStyle 设置为 .none ,以抑制默认对话框。
- 确保你的界面为用户提供取消操作的方式。

你可以通过 Progress 对象了解数据供应情况。 Progress 对象有 fractionCompleted isFinished 属性,你可以通过键值观察来跟踪这些属性,从而更新界面,也可以通过告诉 Progress 对象取消来终止加载过程。获取 Progress 对象有两种方式:
- 会话将一个整体的 Progress 对象作为其 progress 属性提供。
- 单个项目提供者的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值