我在同一个应用程序中使用多个imagesViews的“拖动”和“粘贴”功能到多个imageViews。由于函数"drop“允许知道原点的imageView,那么函数”drop“是否可以知道”拖动“末尾的imageView”目标“(坐标?标签?...)。感谢您的任何建议。
//就在这里,itemsForBeginning session: UIDragSession)允许检索源imageView。
func dragInteraction(_ interaction: UIDragInteraction, itemsForBeginning session: UIDragSession) -> [UIDragItem] {
let touchPoint = session.location(in: self.view)
print("\(touchPoint.x)")
print("\(touchPoint.y)")
//...
guard let image = viewTaped!.image else { return [] }
let item = UIDragItem(itemProvider: NSItemProvider(object: image))
return [item]
}
//但是通过粘贴功能,Swift知道目标,但是我能和如何恢复imageView_yyy的信息吗?(坐标?标签?...)。
override func paste(itemProviders: [NSItemProvider]) {
_ = itemProviders.first?.loadObject(ofClass: UIImage.self, completionHandler: { (image: NSItemProviderReading?, error: Error?) in
DispatchQueue.main.async {
self.imageView_yyy.image = image as? UIImage
}
})
}
发布于 2019-05-23 06:14:33
您需要保留加载回调。通过将其分配给_
,您就是在告诉Swift它是可以立即丢弃的垃圾
// This retains the progress
var pasteProgress: Progress?
override func paste(itemProviders: [NSItemProvider]) {
pasteProgress = itemProviders.first?.loadObject(ofClass: UIImage.self, completionHandler: { (image: NSItemProviderReading?, error: Error?) in
DispatchQueue.main.async {
self.imageView_yyy.image = image as? UIImage
}
})
}
https://stackoverflow.com/questions/56264655
复制相似问题