Answers:
AppleScript语言的对话框警报中没有内置的菜单概念。
您可以执行的最接近的操作是使用适当的操作来命名一些虚拟文件(在临时文件夹中),然后让用户选择标有您要执行的操作的文件。
open folder blah
with selected file bah
do whatever
需要可可菜单的问题的可怕“解决方案”-无论是用Xcode制作还是使用其他可可菜单-Xcode / IB是创建菜单的工具。MacRuby是编写比AppleScript更需要全功能UI的应用程序的一种好方法。您不需要Xcode / IB即可从纯脚本中构建应用程序。
您可以使用Interface Builder创建一个NIB并使用AppleScript编写所有脚本,但是该Nib定义菜单本身-不是AppleScript(即使AppleScript在运行时可以填充或删除菜单项)。
一种选择是使用CocoaDialog **:
set l to {"aa", "bb", "cc"}
set choices to ""
repeat with x in l
set choices to choices & quoted form of x & " "
end repeat
set dialog to paragraphs of (do shell script "/Applications/CocoaDialog.app/Contents/MacOS/CocoaDialog" & " standard-dropdown --title title --text text --items " & choices)
if item 1 of dialog is "2" then return -- pressed cancel button
item ((item 2 of dialog) + 1) of l
您也可以使用choose from list
:
choose from list {"aa", "bb", "cc"} with title "Title" with prompt "Please choose" default items "bb" with multiple selections allowed
**此Github存储库的原始URL mstratman
已更改。从研究看来,CocoaDialog已经过渡到组织。这是新的更改:
此外,如果您只需要一个列表来选择,也可以
choose from list listYouDefined with prompt "Choose from the list."
Google“ AppleScript从列表中选择”。
我知道这是一个古老的问题,但是由于最好的答案是在CocoaDialog 2的文档中说的:
下载不起作用下载cocoadialog 2的下载不再可用。这主要是由于多年来的各种变化和缺乏永久性存储。
Example: Using popup
p.type = popup
p.label = Example popup menu
p.width = 310
p.option = Popup menu item #1
p.option = Popup menu item #2
p.option = Popup menu item #3
p.default = Popup menu item #2
屏幕截图:
Github 回购
使用它后,我发现您可以将Pashua.app安装在您的应用程序目录中,也可以将Pashua嵌入您的应用程序中。我不是这篇文章的作者,但是我需要一个GUI的基本解决方案,并且没有提到。
对于AppleScript,您不需要Xcode。只需在“应用程序/实用程序”中打开AppleScript编辑器(“实用程序”文件夹的Finder快捷方式:⌘ Command+ Shift+ U)。MacScripter上的下拉菜单有一些示例代码:Dropdown menu。