我正在尝试将iOS 11拖放功能集成到Xcode 9测试版的应用程序中。 我很喜欢创建标准日历应用程序可以理解的NSItemProvider。我的拖动从UITableView开始,所以只实现了一个dragDelegate方法。iOS 11拖放:拖放标准日历应用程序
到目前为止,我已经试过如下:
let text = "Rendez-vous at \(clientName)"
let data = text.data(using: .utf8)
let itemProvider = NSItemProvider()
itemProvider.registerDataRepresentation(forTypeIdentifier: kUTTypeCalendarEvent as String, visibility: .all) { completion in
completion(data, nil)
return nil
}
let dragItem = UIDragItem(itemProvider: itemProvider)
而且还使用类型标识符kUTTypePlainText尝试。没有运气,日历应用不会注册掉落。
我找不到任何关于此的官方文档。我希望日历应用程序正在寻找一些标准的日历数据,这不仅限于标准的应用程序相互通信。例如,您可以将笔记应用中的文本拖放到日历中以创建事件。
任何人都知道我可以尝试什么?
在此先感谢。
哇,真棒的回应。今天我会测试一下,然后回过头来验证。非常感谢您提供所有这些细节的时间。 –
嘿卢卡斯,我测试了你的例子,它效果很好。但有一件事情让我困扰。如果我没有放置DTSTART值,则失败。但是,如果我放置DTSTART值,则放置成功,但放弃项目时会忽略日历中的位置。这种类型打破了我想要创建事件的日期和时间在视觉上丢弃元素的目的。任何想法 ? –