【问题标题】:NSAlert's icon not displayed when using default value使用默认值时不显示 NSAlert 的图标
【发布时间】:2017-12-08 00:57:01
【问题描述】:

根据documentation做的:

let alert = NSAlert() 
alert.icon = nil
alert.runModally()

应该呈现应用程序的图标。但我得到了占位符。

【问题讨论】:

  • AppIcon 文件的每个大小都填满了吗?
  • 是的,还有:NSImage(named: "AppIcon") 不是零
  • @zuziaka ,你是什么意思“代替占位符”
  • 为什么还需要第二行?
  • 代替alert.icon = nil,试试alert.icon = NSImage(named: "imageName.png")。确保将 png 文件复制到资源中。

标签: swift macos cocoa macos-sierra nsalert


【解决方案1】:

你可以尝试一些苹果内置的图标如:

alert.icon = NSImage (named: NSImage.cautionName)

苹果图标的完整列表在这里:https://developer.apple.com/documentation/appkit/nsimage/name

【讨论】:

    【解决方案2】:

    刚刚遇到同样的问题。最初我只有一个 256@1x 图标并且在警报中没有图标。但是,一旦我将 128@1x 图标添加到 AppIcon 资源,NSAlert 就会正确显示它。

    不,您不需要将图标显式设置为 nil。

    【讨论】:

    • 图标文件需要这样命名吗?即“128@1x.png”?我的当前类似于“128x128@1x.png”,但我在警报中获得了占位符...
    猜你喜欢
    • 1970-01-01
    • 2021-07-10
    • 2020-03-31
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多