在 NSImageView 中显示 gif - Swift 3 - Mac

Display gif inside NSImageView - Swift 3 - Mac

我正在尝试在 NSImageView 中加载和显示 gif 文件,但是当我 运行 项目时没有任何显示。

我已经尝试 link 使用 url、数据或命名的 NSImageView 的 gif 文件,但它不起作用。

 func applicationDidFinishLaunching(_ aNotification: Notification)
    {
 let url = Bundle.main.url(forResource: "RSynchro-Gif", withExtension: "gif")!
        let data = try! Data(contentsOf: url)
        gifBoutton.image = NSImage(data: data)
}

func applicationDidFinishLaunching(_ aNotification: Notification)
    {
        let url = Bundle.main.url(forResource: "RSynchro-Gif", withExtension: "gif")!
        gifBoutton.image = try! NSImage(data: Data(contentsOf: url))
    }

func applicationDidFinishLaunching(_ aNotification: Notification)
    {

       let icon = NSImage(named: NSImage.Name(rawValue: "RSynchro-Gif"))
       imageGif.image = icon
       imageGif.animates = true
    }

None 它们可以工作,但如果我用 .png 替换 .gif 文件,它就可以工作。 有人告诉我正确的方法吗? 谢谢。

(请参阅下面对我的回答的修改。我最初的回答已经过时,因此是错误的。)

我认为 Mac OS 中没有对 GIF 图像类型的原生支持。 (我知道 iOS 这些天我做大部分工作的地方并不存在,我相当确定 Mac OS 也是如此。我知道 Mac OS 大约 3 年前不支持 GIF。)

编辑:

显然我错了。如果您将图像直接放在应用程序的捆绑包中而不是资产目录中,那么您 可以 加载 GIF 图像的第一帧。如果您在资产目录中创建图像集并将 GIF 拖入其中,它似乎可以在 Xcode 中工作,但图像不会加载。 (我对 Mac 应用程序和 iOS 应用程序都进行了尝试,结果是一样的。)