在 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 应用程序都进行了尝试,结果是一样的。)
我正在尝试在 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 应用程序都进行了尝试,结果是一样的。)