テキストフィールドの内容に基づいて自動修正のオン/オフを切り替えたい。
たとえば、ユーザーが「Machine tools」のようなフレーズを入力している場合、(ユーザーが入力する残りの単語については) 自動修正をオンにしたいのですが、たとえば、「www」のような Web アドレスの始まりを感知した場合は、 .mach..」 自動補正をオフにしたい。
入力されたコンテンツに基づいてテキストフィールドの autoCorrectionType を切り替えることにより、UITextFieldTextDidChangeNotification の受信時にこれを実行しようとしました。テキスト フィールドのこのプロパティの実際の値は変更されますが (NSLog で確認済み)、実際の修正動作は影響を受けません。そのため、編集セッションの開始時に自動修正がオンになっていた場合、テキスト フィールドを UITextAutoCorrectionTypeNo に設定した後も引き続きオンになります。したがって、「www.foogle...」は「www.google..」に修正されますが、これは私の本では常に望ましいとは限りません。
それで、テキストフィールドで(編集時に)その場で自動修正を有効/無効にする方法を見つけた人はいますか?
ありがとう。