編集不可能なUITextView用(iPhone)selectedRange(またはクリック取り扱いの他の方法?)
-
21-08-2019 - |
質問
私は(文字はすべて幅が固定されていることを意味し、中国語で)静的なコンテンツを保持するためにUITextView
を使用しています。私は、ユーザーがテキストの文字をクリックすると、その文字のための辞書情報を持ち出すようにしたいです。私はコピー&ペーストの欠如を取り巻く問題のすべてとすべてのことを知っているが、私はiPhone 3.0ファームウェアを待たずにこれを行う方法があることを願っています。
最初は、私はUITextView
sにselectedIndex
プロパティを使用して考えました。 UITextView
が編集可能でない場合残念ながら、UITextView
年代に以下のコードは、常にテキストブロック全体の長さを返します:
NSRange touchPoint = self.selectedRange;
NSLog(@"Selection: %d", touchPoint.location);
これは、挿入ポイントを選択する方法はありません編集できないUITextView
と同じように、私は、と仮定し、理にかなって、それは私の任意の助けにはならないのです。 :)
別のアプローチは、ラップするラインを引き起こす可能性があります中国語テキストは、クリックが上陸したところ、幅が固定されており、時と場所の下に何のテキストをする必要がありますが、これは句読点によって複雑になることを利用して、計算することであろう早く、ラインの下の前の文字を持って来ます。
私は欠けているタッチイベントの下にあるものをテキストノウハウの別の方法はありますか?
解決
selectedRange
を求める前に、次を呼び出します:
[[textView webView] updateSelectionWithPoint:point];
注:両方-webView
と-updateSelectionWithPoint:
はプライベートAPIです。あなたは、編集可能なトグルファーストレスポンダになってきてと偽のタッチイベントを送信することにより、同等の挙動をalsoperformことができますが、それは非常に多くの作業