Tod*_*orf 6 macos cocoa drag-and-drop objective-c
在Interface Builder.app(以及其他一些可可应用程序)中,当您将可拖动项目拖出窗口时,图像拖动具有非常漂亮/性感的变形拖动图像效果.
例如在Interface Buildler.app中:
注意:当您将项目拖出"库调色板"窗口时,它会从原始列表项的图像变形为拖动项目图标的图像.
我使用普通的Cocoa NSDragSource/NSDragDestination工具在我的应用程序中完全实现了拖放.
但是,在拖动时我无法找到用于执行此图像变形的钩子.我通过覆盖返回初始拖动图像
-[NSView dragImage:at:offset:event:pasteboard:source:slideBack:]
Run Code Online (Sandbox Code Playgroud)
但这只是在阻力开始时调用.
如何表示您想要替换当前拖动图像(理想情况下使用性感变形效果).
Jos*_*zzi 12
你们打败了我.:-)
是的,JLNDragEffectManager是开源的(请在您的应用中包含归属信息),并且可以在我的博客上找到.它应该可以正常工作,不需要修改回10.5,但我不确定是否还有更进一步.其他与之相关的(并且它很容易上网),所以为了避免自我祝贺的博客链接,我会留下它.
问题:一位开发人员评论(并提交了修复代码)缺乏拖动偏移支持.我刚刚没有发布更新.这是我所知道的唯一一个突出问题.
改进:我想添加多个"区域"(例如,每个文档一个,因此从doc拖到doc会使表行看起来像表行,但是在doc窗口之外的任何地方都会将它们变成文件图标和HFS Promise Drag) .有一天......
设计:帖子本身详细说明了设计背后的原因和相对简单的变形效果(交叉淡入淡出加上大小使用基本的NSAnimation等进行动画制作).代码(类和演示应用程序)被彻底屏蔽和评论.
不会链接到我自己的帖子,但会喜欢我的努力的upvotes的业力.;-)
更新:从10.7开始提供类似(但更好集成)的功能.如果您的目标是10.7或更高,则最好使用新API.JLNDragEffectManager在10.7上运行正常,因此它可以用于早期目标版本.
| 归档时间: |
|
| 查看次数: |
2910 次 |
| 最近记录: |