最初の写真でわかるように、私はアプリでUIWebviewを使用しています。しかし、2番目のハンドルを次の段落にドラッグすると、選択範囲が長方形のボックスになり、段落全体しか選択できません。最初の画像と同じように保持するにはどうすればよいですか?
1 に答える
[コピー、切り取り、貼り付けの操作の使用]を読むと、iOSがとのUI選択を実装していることがわかりUIWebView
ます。したがって、これらのUIオブジェクトで選択がどのように機能するかがわかります。UITextView
UITextField
(したがって、ユーザーが段落の範囲内にいる限り、最初のビューで示したように、ユーザーは段落内のテキストの一部を選択できます。ユーザーの指が走った場合段落の端を超えて、選択された領域を示す基になるUIコードは、選択できるアイテムの最小のサブセットを選択しようとします。段落全体がこのレベルのアトミックユニットと見なされます。)
上記のドキュメントでは、メニューから呼び出されたときにさまざまなカット/コピー/貼り付け/選択アクションを呼び出す方法のみが説明されています(メニューに表示される内容UIMenuController
をある程度制御し、カットで何ができるかをある程度制御できます)。 /コピーされた選択範囲UIPasteboard
)では、選択範囲のエッジを制御しているユーザーにUIがどのように応答するかを指示する便利な方法はないようです。拡張することでUIWebView
さえ、必要なタッチイベントをキャプチャする機能を提供する可能性がありますが、の文書化されたAPIを介して選択の結果の描画を指示することはできませんUIWebView
。
したがって、非公開APIをいじくり回さずに、タッチイベントをキャプチャするために独自のクラスを実装することにならない限り、段落にまたがるテキストの選択をより正確に細かく制御する方法を想像するのは少し難しいです。選択を制御してからイベントを処理して、好みのエッジの周りに選択を描画するために必要です。言い換えれば、UIWebView
テキストの段落にまたがる選択のための特別なコードを除いて、あなたは一種の再発明とそれが行うすべてのことをしなければならないでしょう。
ごめん。