我正在尝试在NSImageView中加载并显示一个gif文件,但在运行项目时没有任何内容。
我尝试使用url,data或named将gif文件与NSImageView链接,但它不起作用。
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
}
它们都不起作用,但如果我用.png替换.gif文件,它就可以了。 有人向我展示正确的方法吗? 感谢。
答案 0 :(得分:2)
(请参阅下面对我的回答的编辑。我的初步答案已过时,因此错误。)
我不相信Mac OS中对GIF图像类型有原生支持。 (我知道在iOS中没有这样的事情,我现在大部分工作都在这里,而且我相信Mac OS也是如此。我知道Mac OS不支持GIF。大约3年前。)
显然我错了。如果您将图片直接放入应用程序的捆绑包中而不是放入资产目录中,则看起来可以加载GIF图像的第一帧。如果您在资产目录中创建了一个图像集并将GIF拖入其中,它似乎在Xcode中工作,但图像无法加载。 (我尝试使用Mac应用程序和iOS应用程序,结果是一样的。)