2017-06-06 2 views
0

は、だから我々は最近、添付アプリで間違った提案を示す私たちのキーボード拡張子の問題がありました。私たちは、テキストがコンテキスト(super.textDocumentProxy.documentContextBeforeInput)から返されたことが判明、すべて間違っていたとリンゴのコンポーネントでのビルド以降に何かがテキストの挿入と間違って行く必要があります。私たちは、テキストを挿入するための実装を以下ました:はなぜUITextInputからInsertTextは、キーボードの提案を壊すのでしょうか?

あり

if (replaceRange.length > 0) { 
     [self.textView.textStorage replaceCharactersInRange:replaceRange withString:selectedWord]; 
     [textView setSelectedRange:NSMakeRange(newLocation, 0)]; //Place cursor after inserted word 
    } else { 
     [self.textView insertText:selectedWord]; 
    } 

のようなものを返します。 。 。

本物のテキストのようなものであろうが:それがあったあり

。それは少しテストだった。すべてのテスト。

答えて

0

問題は、明らかにそれが適切にテキストが、キーボードのコンテキストが挿入されたテキストを読むことができません挿入しますinsertTextであることが判明しました。今すぐ修正が両方の挿入(なしのif/else節を意味する)のためを使用するために、単純だった:

[self.textView.textStorage replaceCharactersInRange:replaceRange withString:selectedWord]; 
     [textView setSelectedRange:NSMakeRange(newLocation, 0)]; //Place cursor after inserted word 

これは、問題を解決し、私たちが意図したとおりinsertTextが動作しないという結論になりました。これは、テキストフィールドで提案を使用する場合にのみ問題になることに注意してください。

関連する問題