Finder からアプリ、NSTableView へのドラッグ アンド ドロップを実装し、link
ドキュメントなどを作成しました。
しかし、NSTableViewからアイテムをドラッグして、この行をゴミ箱アイコンにドロップすることで削除操作を行いたいです。どうすればこれを正しく行うことができますか? ゴミ箱へのドロップを有効にする方法
Finder からアプリ、NSTableView へのドラッグ アンド ドロップを実装し、link
ドキュメントなどを作成しました。
しかし、NSTableViewからアイテムをドラッグして、この行をゴミ箱アイコンにドロップすることで削除操作を行いたいです。どうすればこれを正しく行うことができますか? ゴミ箱へのドロップを有効にする方法
(私がこれを行ってから長い時間が経ちました。記憶とドキュメントを一瞥して実行しています。これが機能しない場合はお知らせください。コードで再確認します。)
では、合法的な操作の 1 つとしてdraggingSession:sourceOperationMaskForDraggingContext:
含める必要があります。NSDragOperationDelete
その後、アイテムがゴミ箱に落とされたことを示すためNSDragOperationDelete
にあなたに戻ってきます。draggingSession:endedAtPoint:operation:
dropSessionDidEnd デリゲート メソッドを使用します。ドロップポイントの場所を取得でき、別の UICollectionView/UITableView は必要ありません:
func collectionView(_ collectionView: UICollectionView, dropSessionDidEnd session: UIDropSession) {
guard let item = session.items.first?.localObject as? YourObject else {
return
}
let dropLocation = session.location(in: self.view)
let itemDropedInTrash = TrashImageView.frame.contains(dropLocation)
if itemDropedInTrash {
//here update your datasource and reload your collectioView/tableView
//deleteItemFromDataSource(item: item)
//collectionView.reloadData()
}
}