🍁

Swift: NSImageでAPNGを表示する方法

2021/06/06に公開

事前準備

Assets.xcassetsに Data Set を新規で追加してください。Image Set だとアニメーションせずに一枚目のコマを表示するだけになります。

コード

import Cocoa

class ViewController: NSViewController {

    @IBOutlet weak var imageView: NSImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
        guard let asset = NSDataAsset(name: "Data Set名") else { return }
        imageView.image = NSImage(data: asset.data)
        imageView.animates = true
    }

}

NSDataAssetを用いてDataを引っ張り出すことがポイントです。

備考

Catalina以降なら動作する模様。

Discussion