全局禁用工具提示

Disabling tooltips globally

好的,我已经使用了界面生成器并为所有控件添加了工具提示。

我想为用户提供一个菜单项 "disable tooltips"。

如何在 cocoa 应用程序中全局禁用所有工具提示?

与其直接在 Interface Builder 中设置工具提示的文本,不如在视图控制器(或其他可绑定对象)中为它们创建 NSString 属性。使用布尔值 属性 控制是否显示工具提示。

@interface YourViewController : NSViewController

@property (readonly) NSString *thisTooltip;
@property (readonly) NSString *thatTooltip;

@property BOOL showTooltips;

@end



@implementation YourViewController

- (NSString *)thisTooltip {

   if (showTooltips) {
      return @"This is a tooltip";
   }
   else return @"";
}

- (NSString *)thatTooltip {

   if (showTooltips) {
      return @"That is a tooltip";
   }
   else return @"";
}

@end

使用 IB 中的绑定检查器将工具提示绑定到 属性:

如您所见,此策略使动态自定义工具提示成为可能,而您的应用程序是 运行。