以编程方式关闭OS X 10.7 Lion的“自动更正”功能?

时间:2011-11-15 23:47:09

标签: macos cocoa osx-lion

OS X Lion在您输入时具有类似iPhone的自动更正功能。

此功能会干扰我的输入应用。使用我的应用程序的人不希望系统范围内的所有打开。我需要为所有应用关闭所有自动更正功能,而不仅仅是我自己的NSTextField

我有没有办法检查/设置全局/系统自动更正功能到OFF?或者我是否基本上提供了如何关闭它的指导教程?

解决方案对于Mac App Store必须合法。

2 个答案:

答案 0 :(得分:1)

这是在NSTextView中吗?如果是这样,有几种方法可用于改变校正行为:

- (void)setAutomaticSpellingCorrectionEnabled:(BOOL)flag
- (void)setAutomaticTextReplacementEnabled:(BOOL)flag

请尝试那些,它们应该是你想要的。

答案 1 :(得分:0)

最后,还有其他API可支持自动文本替换和拼写更正的新全局用户首选项设置。默认情况下,NSTextView现在会自动跟踪并遵循这些设置,但使用NSTextView的应用程序可以通过编程方式使用现有的NSTextView方法(例如-setAutomaticTextReplacementEnabled:-setAutomaticSpellingCorrectionEnabled:来覆盖它,以控制单个文本视图的设置。新API主要用于希望跟踪自身设置的非文本视图客户端,使用NSSpellChecker类方法确定其值,还可选择通知以确定设置何时更改。

+ (BOOL)isAutomaticTextReplacementEnabled;
+ (BOOL)isAutomaticSpellingCorrectionEnabled;

NSString * const NSSpellCheckerDidChangeAutomaticSpellingCorrectionNotification;
NSString * const NSSpellCheckerDidChangeAutomaticTextReplacementNotification;

https://developer.apple.com/library/mac/#releasenotes/Cocoa/AppKit.html