3

質問

メール クライアントや Twitter クライアントなどの一部のアプリケーションでは、何かを入力していて、送信/ツイート ボタンを押すとすべてが適切に表示され、テキスト ビューで最後の単語のスペルが間違っていることが自動的に修正されます。明らかに、その時点で、入力を終了してから送信するまでの時間が間違っていたため、スペルチェックがまだ行われていました。

ここでの最初の質問は、その機能を削除することについてどう思いますか? 一方で、まったく同じことが人々に起こると確信していますが、実際には最後の単語のスペルを台無しにするのではなく修正します。それ以外の場合、これが有効なアイデアだと思う場合、NSTextViewフォーカスを失ったときに自動スペル修正を無効にする方法はありますか?

私が見たもの:

実際に試したこと(空のプロジェクトのXcodeで)

  • andとand をそれぞれ andの呼び出し内に実装します (最初は'sも呼び出しましたが、これは著作権記号に対する (c) のようなユーザー設定のためだけです)NSTextDelegate textShouldBeginEditing:textShouldEndEditing:[self.textView setAutomaticSpellingCorrectionEnabled:true];[self.textView setAutomaticSpellingCorrectionEnabled:false];NSTextViewsetAutomaticTextReplacementEnabled:

  • 同じtextShouldBeginEditing:textShouldEndEditing:(上から)をそれぞれ と に設定しNSTextViewます。enabledTextCheckingTypesNSTextCheckingAllTypesNSTextCheckingAllTypes - NSTextCheckingTypeCorrection

  • 上記と同じプロパティをサブクラスNSTextView化して実装becomeFirstResponderし、それらを変更します。resignFirstResponder

  • または(これは で動作します)NSSpellCheckerからメソッドを呼び出してポップアップを非表示にしますが、スペルは修正されます)resignFirstRespondertextShouldEndEditing:[[NSSpellChecker sharedSpellChecker] dismissCorrectionIndicatorForView:self];

Tweetbotのこの機能は、foriegn とforeign を使用してテストできることに気付きました。バブルがまだ表示されている間に入力してツイートすると、間違ったスペルがツイートされます。

4

1 に答える 1