如何在 Xcode AppleScript 应用程序中使用系统图标?
How to use System Icons in an Xcode AppleScript application?
有没有办法使用系统图标,位于:/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/
无需将它们添加到带有 AppleSript 的应用程序中我的项目的 Resource 文件夹中?
是的,只需使用 POSIX 路径。如果您正在使用 显示对话框,Xcode 中的 AppleScript 有点挑剔,因此您需要明确强制执行它:
display dialog "hello" with icon ("/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericQuestionMarkIcon.icns" as POSIX file)
如果你使用NSAlert,图标属性需要是图片,所以你可以从路径中获取一个,例如:
set myAlert to current application's NSAlert's alloc's init()
set myAlert's messageText to "hello"
set myAlert's icon to current application's NSImage's alloc's initByReferencingFile:"/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericQuestionMarkIcon.icns"
myAlert's runModal()
对于其他使用NSImage的对象,您可以用同样的方法从路径中获取图像,并使用相关的属性设置对象的图像或 setter 方法:
set yourImageView's image to current application's NSImage's alloc's initByReferencingFile:"/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericQuestionMarkIcon.icns"
有没有办法使用系统图标,位于:/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ 无需将它们添加到带有 AppleSript 的应用程序中我的项目的 Resource 文件夹中?
是的,只需使用 POSIX 路径。如果您正在使用 显示对话框,Xcode 中的 AppleScript 有点挑剔,因此您需要明确强制执行它:
display dialog "hello" with icon ("/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericQuestionMarkIcon.icns" as POSIX file)
如果你使用NSAlert,图标属性需要是图片,所以你可以从路径中获取一个,例如:
set myAlert to current application's NSAlert's alloc's init()
set myAlert's messageText to "hello"
set myAlert's icon to current application's NSImage's alloc's initByReferencingFile:"/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericQuestionMarkIcon.icns"
myAlert's runModal()
对于其他使用NSImage的对象,您可以用同样的方法从路径中获取图像,并使用相关的属性设置对象的图像或 setter 方法:
set yourImageView's image to current application's NSImage's alloc's initByReferencingFile:"/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericQuestionMarkIcon.icns"