如何在Cocoa-Applescript中执行NSOpenPanel
?有没有好的教程?我熟悉Applescript,但不是Cocoa部分。 NSOpenPanel需要nib
吗?我正在做一个Automator动作。 See my previous question
答案 0 :(得分:1)
Shane Stanley的PDF书AppleScriptObjC Explored是获得AppleScriptObjC教程的版本 - 几乎所有来自Apple的示例都在现有的ObjC文档中,需要进行转换。
您可以在动作界面中使用Automator路径弹出按钮,但基本的打开面板类似于以下内容(它不需要自己的笔尖):
set defaultDirectory to POSIX path of (path to desktop) -- a place to start
tell current application's NSOpenPanel's openPanel()
setFloatingPanel_(true)
setTitle_("Panel Test")
setPrompt_("Choose") -- the button name
setMessage_("Choose some stuff:")
setDirectoryURL_(current application's NSURL's URLWithString_(defaultDirectory))
setCanChooseFiles_(true)
setCanChooseDirectories_(true)
setShowsHiddenFiles_(false)
setTreatsFilePackagesAsDirectories_(false)
setAllowsMultipleSelection_(true)
set theResult to it's runModal() as integer -- show the panel
if theResult is current application's NSFileHandlingPanelCancelButton then quit -- cancel button
set theFiles to URLs() as list --> a list of NSURLs
end tell
请注意,如果使用AppleScript编辑器,则无法直接从编辑器运行AppleScriptObjC代码,则需要在Cocoa-AppleScript小程序中运行它。有一个ASObjC Runner后台应用程序(也是Stanley先生)可以在编辑器中使用。