如何在 OSX 应用程序的 Rubymotion 上实现拖放功能
How to implment drag and drop feature on Rubymotion for a OSX app
尝试制作一些快速而肮脏的东西来批量重命名和转换文件,并且拥有 rubymotion 许可证我想为什么不使用它来制作一个简单的应用程序,你可以拖放而不是一些批处理文件。
但是我在检测拖动事件时遇到了问题,似乎无法找到有关如何在 rubymotion 中执行此操作的信息,我只使用 rubymotion 来制作 iOS 应用程序,但发现自己迷路了。
如有任何帮助,我们将不胜感激。
您是否开始学习任何 Cocoa 教程? Objective-C 中编写的任何内容都可以轻松移植。我将从这里开始:Drag and Drop Programming (developer.apple.com)
如果你想支持拖拽到停靠图标上,你需要修改项目支持的文档类型,我不知道该怎么做(检查rake config
,它可能会给出一个线索)。您最终也需要实现此方法:
def application(sender, openFile: path)
# sender is an NSApplication, path is NSString
true # or false
end
您需要添加如下内容:
app.info_plist['CFBundleDocumentTypes'] = [
{'CFBundleTypeRole': 'Viewer', 'CFBundleTypeExtensions': ['mp4','m4v','avi','*'] } ,
{'CFBundleTypeRole': 'Editor', 'CFBundleTypeExtensions': ['txt'] }
]
到 Rakefile
中的设置块
并在app_delegate.rb
中的AppDelegateclass中添加如下方法
def application(sender, openFile: path)
true
end
在 rake build
之前先做一个 rake clean
,然后就可以开始了。
请注意,对于您放到应用程序图标上的每个文件,都会调用 application
方法。 path
包含一串拖放文件路径。
尝试制作一些快速而肮脏的东西来批量重命名和转换文件,并且拥有 rubymotion 许可证我想为什么不使用它来制作一个简单的应用程序,你可以拖放而不是一些批处理文件。
但是我在检测拖动事件时遇到了问题,似乎无法找到有关如何在 rubymotion 中执行此操作的信息,我只使用 rubymotion 来制作 iOS 应用程序,但发现自己迷路了。
如有任何帮助,我们将不胜感激。
您是否开始学习任何 Cocoa 教程? Objective-C 中编写的任何内容都可以轻松移植。我将从这里开始:Drag and Drop Programming (developer.apple.com)
如果你想支持拖拽到停靠图标上,你需要修改项目支持的文档类型,我不知道该怎么做(检查rake config
,它可能会给出一个线索)。您最终也需要实现此方法:
def application(sender, openFile: path)
# sender is an NSApplication, path is NSString
true # or false
end
您需要添加如下内容:
app.info_plist['CFBundleDocumentTypes'] = [
{'CFBundleTypeRole': 'Viewer', 'CFBundleTypeExtensions': ['mp4','m4v','avi','*'] } ,
{'CFBundleTypeRole': 'Editor', 'CFBundleTypeExtensions': ['txt'] }
]
到 Rakefile
并在app_delegate.rb
def application(sender, openFile: path)
true
end
在 rake build
之前先做一个 rake clean
,然后就可以开始了。
请注意,对于您放到应用程序图标上的每个文件,都会调用 application
方法。 path
包含一串拖放文件路径。