質問
メール クライアントや Twitter クライアントなどの一部のアプリケーションでは、何かを入力していて、送信/ツイート ボタンを押すとすべてが適切に表示され、テキスト ビューで最後の単語のスペルが間違っていることが自動的に修正されます。明らかに、その時点で、入力を終了してから送信するまでの時間が間違っていたため、スペルチェックがまだ行われていました。
ここでの最初の質問は、その機能を削除することについてどう思いますか? 一方で、まったく同じことが人々に起こると確信していますが、実際には最後の単語のスペルを台無しにするのではなく修正します。それ以外の場合、これが有効なアイデアだと思う場合、NSTextViewフォーカスを失ったときに自動スペル修正を無効にする方法はありますか?
私が見たもの:
NSTextViewsでスペリングを処理する方法に関するこの質問この質問は、スペルチェックをすべてオフにすることに関するものです。
NSSpellChecker具体的には、自動スペル修正メソッドです(これでどこかに行けると本当に思っていました)なぜaNSSpellCheckerDelegateが存在しないのか疑問に思いましたの誤解を招く (コメントを読む)について
NSSpellCheckerのこの質問NSNotificationNSTextCheckingTypes(下部)具体的にNSTextCheckingTypeCorrection一般的なスペル チェックの実行に関するこの質問
NSTextView具体的には、「スペル チェックの操作」および「テキスト チェックと置換」メソッドこの質問は、機能のオンとオフを切り替えるだけです
The Spell Checking Programming Topicsは、実際には非自動スペル チェックについてのみ説明しています。
NSTextViewDelegate具体的には、「スペル チェックの操作」メソッド
実際に試したこと(空のプロジェクトのXcodeで)
andとand をそれぞれ andの呼び出し内に実装します (最初は'sも呼び出しましたが、これは著作権記号に対する (c) のようなユーザー設定のためだけです)
NSTextDelegatetextShouldBeginEditing: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 を使用してテストできることに気付きました。バブルがまだ表示されている間に入力してツイートすると、間違ったスペルがツイートされます。