SwiftUI-onDrag参数类型'NSImage'不符合预期的类型'NSItemProviderWriting'

问题描述 投票:0回答:1

我正在尝试几种方法来在macOS中实现图像拖动,但没有一种起作用。该图像是一个Data()对象,该对象是从剪贴板中获取的,而不是URL。

我的代码:

.onDrag {
    return NSItemProvider(object: NSImage(data: self.item.value) ?? NSImage())
}

参数类型'NSImage'与预期类型不符'NSItemProviderWriting'

我尝试使用文本,并且可以正常工作。但是找不到拖动图像的方法。

macos swiftui drag nsimage
1个回答
0
投票

以下从测试SwiftUI应用到TextEdit的拖放操作。测试图像image存储在Assets.xcassets

Image("image")
    .onDrag {
        NSItemProvider(item: NSImage(named: "image")?.tiffRepresentation as NSSecureCoding?, 
                       typeIdentifier: kUTTypeTIFF as String)
    }
© www.soinside.com 2019 - 2024. All rights reserved.