1

我们的应用程序有一些非富文本 NSTextView,用户可以在其中输入文本。当用户在文本视图中输入“...”时,OS X 会自动将其替换为省略号字符,这是我们不希望发生的。这需要我们为我们应用程序的所有用户禁用,而不是依靠他们自己禁用它。

我希望这是一个 NSUserDefaults 设置,例如“ApplePressAndHoldEnabled”设置,但我无法在文档中找到任何关于它的内容。我发现了一些关于“WebAutomaticTextReplacementEnabled”首选项的信息,听起来它可以满足我们的需要,但将其设置为“NO”似乎对我们的应用没有任何作用。

我还查看了 NSSpellChecker,它似乎提供了“isAutomaticTextReplacementEnabled”方法来检查是否发生文本替换,但无法阻止应用程序发生这种情况。

如何为我们的应用禁用此文本替换?

4

1 回答 1

3

nib 文件中有此设置(选择 NSTextView)。不幸的是,在最新版本的 OS X / Xcode 中,其中一些似乎已损坏,因此您可能会发现您必须将消息从例如发送到您的视图-awakeFromNib,例如

- (void)awakeFromNib
{
  [myTextView setAutomaticQuoteSubstitutionEnabled:NO];
  [myTextView setAutomaticTextReplacementEnabled:NO];
}

有关完整方法集,请参阅文档。NSTextView

于 2014-01-09T11:42:39.040 回答