Cocoa osx NSButton 在鼠标悬停时显示文本

Cocoa osx NSButton show text when mouse over

在我的 Mac 应用程序中,我想在用户将鼠标指针移到按钮上时显示一些信息文本。 像这样:

我怎样才能正确地做到这一点?

提前致谢。

在 Interface-Builder 中,您可以为大多数对象设置 'tooltip',包括 NSButton(打开检查器,然后选择 "Help" 部分)。 但是,如果您使用的是 NSToolbar,它也有工具提示;您可以选择以编程方式执行此操作。尝试在您的源代码中键入 setToolTip,然后双击它以获取更多信息。 (选项=备用)。

这在 Xcode 6.2 中对我有用:

在身份检查器(下图中右侧的窗格)中,在 Tool Tip 部分输入 "Sad face":

您也可以通过编程方式完成。

(假设 someButton 是您的 NSButton 对象)

[someButton setToolTip:@"Sad face: Select this option for \"Very poor\""];

要以编程方式在 Swift 中添加自定义工具提示,请子类化相应的视图

var trackingArea: NSTrackingArea!

为视图添加跟踪区域

let opts: NSTrackingAreaOptions = ([NSTrackingAreaOptions.MouseEnteredAndExited, NSTrackingAreaOptions.ActiveAlways])
trackingArea = NSTrackingArea(rect: bounds, options: opts, owner: self, userInfo: nil)
self.addTrackingArea(trackingArea)

鼠标进入事件

override func mouseEntered(theEvent: NSEvent) {
    self.tooltip = "Sad face : Select the option for very poor"
}

或者您可以为字符串的每个范围制作单独的工具提示: