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