And*_*rew 1 macos image animated-gif swift swiftui
swiftUI中显示动画gif图片的方法
因为图像
Image("fall-leaves")
Run Code Online (Sandbox Code Playgroud)
不支持gif
回答如下
在 swiftUI 中显示 gif 图像最简单、最快的方法 - 是使用Preview//QuickLook (QL)QLPreviewView
Quartz 仅在 macOS 10.4+ 中可用https://developer.apple.com/documentation/quartz
import SwiftUI
import Quartz
struct QLImage: NSViewRepresentable {
var url: URL
func makeNSView(context: NSViewRepresentableContext<QLImage>) -> QLPreviewView {
let preview = QLPreviewView(frame: .zero, style: .normal)
preview?.autostarts = true
preview?.previewItem = url as QLPreviewItem
return preview ?? QLPreviewView()
}
func updateNSView(_ nsView: QLPreviewView, context: NSViewRepresentableContext<QLImage>) {
nsView.previewItem = url as QLPreviewItem
}
typealias NSViewType = QLPreviewView
}
Run Code Online (Sandbox Code Playgroud)