如何使用 SwiftUI 在 macOS 10.15 上添加工具提示

Lor*_*lor 3 macos swiftui

根据Apple的help说法,修改器仅在macOS11中可用,那么在macOS 10.15中添加工具提示的解决方法是什么?

在 macOS 11 上的 SwiftUI 中,您可以使用 .help("Tooltip text") 视图修饰符来添加工具提示。请参阅 WWDC 2020 的“SwiftUI 新增功能”会议。

参考

Lor*_*lor 8

解决方法是使用过度使用的旧NSView 导入 SwiftUI

struct Tooltip: NSViewRepresentable {
    let tooltip: String
    
    func makeNSView(context: NSViewRepresentableContext<Tooltip>) -> NSView {
        let view = NSView()
        view.toolTip = tooltip

        return view
    }
    
    func updateNSView(_ nsView: NSView, context: NSViewRepresentableContext<Tooltip>) {
    }
}

public extension View {
    func toolTip(_ toolTip: String) -> some View {
        self.overlay(Tooltip(tooltip: toolTip))
    }
}
Run Code Online (Sandbox Code Playgroud)

使用修改器

            Image("pin")
                .resizable()
                .toolTip("TEST")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

还可以在 GitHub 上找到开源解决方案:https://github.com/quassummanus/SwiftUI-Tooltip