【发布时间】:2020-03-31 13:56:47
【问题描述】:
我正在尝试在 SwiftUI 中的 MacOS 应用程序中使用共享功能。我有一个我想分享的文件的 URL。它可以是图像/文档等等。
我找到了适用于 MacOS 的 NSSharingServicePicker 并希望使用它。但是,我正在努力在 SwiftUI 中使用它。
按照文档,我是这样创建的:
let shareItems = [...]
let sharingPicker : NSSharingServicePicker = NSSharingServicePicker.init(items: shareItems as [Any])
sharingPicker.show(relativeTo: NSZeroRect, of:shareView, preferredEdge: .minY)
我的问题在于show() 方法。我需要设置一个 NSRect,我可以在其中使用 NSZeroRect.. 但我正在努力使用of: 参数。它需要一个 NSView。如何将当前视图转换为 NSView 并以这种方式使用它。或者我可以使用我的Button 作为NSView()。我正在为这种方法苦苦挣扎。
另一种选择是使用NSViewRepresentable。但是我应该只创建一个 NSView 并将其用于该方法。
【问题讨论】: