gpt4 book ai didi

macos - NSCollectionView 完成放置事件

转载 作者:行者123 更新时间:2023-12-03 17:49:14 28 4
gpt4 key购买 nike

我正在开发在 NSCollectionView 中显示 svg 图标的应用程序。我想实现拖放功能,以允许用户将 svg 拖到 Finder 或其他应用程序。我有两个问题:

1.) 为了实现对另一个应用程序的拖动,我使用 NSFilenamesPboardType 进行 registerForDraggedTypes 并在 collectionView:writeItemsAtIndexes:toPasteboard: 创建临时文件并将其 URL 写入 [pasteboard writeObjects:@[fileURL]];因为在这种情况下未调用 collectionView:namesOfPromisedFilesDroppedAtDestination:forDraggedItemsAtIndexes: 。其实现是否正确?我找不到如何以另一种方式实现 svg 的拖放。

2.) 我如何才能收到掉落结束的回调?数据源中的 NSTableView 有方法 tableView:draggingSession:ishedAtPoint:operation 确定拖动的结束。对于 NSCollectionView,此方法没有记录,但存在于 NSCollectionViewDelegate 中。我可以使用它并且应用程序会通过审核吗?

感谢您的建议

最佳答案

10.7 中有一个 NSCollectionViewDelegate 方法:

- collectionView:draggingSession:endedAtPoint:dragOperation:

它在将项目放入接收应用程序后调用该方法。

关于macos - NSCollectionView 完成放置事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32720339/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com