カスタムUIMenuItemを iPhone アプリのコピー & ペースト メニューに追加することに成功し、標準のメニュー項目を取り除くためにUITextViewをサブクラス化することさえできました。ただし、メニューが実際に表示される前にメニューが表示されるという事実を何らかの方法でキャプチャし、挿入ポイントに単語をメニューに追加する必要があります。
たとえば、UITextViewのテキストが「This is a test.」の場合。、そして人が「is」という単語に触れた場合、その単語を UIMenuItem としてUIMenuControllerに追加します。
タッチした直後にのみメニューに単語を表示することが重要です。次にメニューを呼び出すと、次にタッチした単語が表示されます。メニュー内の単語にタッチすると、詳細が表示されます。selectedRangeに基づいて touched という単語を見つけるコードが既にあります。メニューが表示される前に、その単語をUIMenuItemとして追加するだけです。もう 1 つの洗練されていない解決策は、ユーザーが静的なメニュー項目に触れてから、触れた単語に基づいてさまざまなオプションでメニューを追加および再表示できるようにすることです。
UIMenuControllerをサブクラス化してインターセプトする方法があることを願っています。これにより、バルーンが表示される前に挿入ポイントに到達できますが、メニュー項目リストを変更することで、バルーンに変更を加えることができます。
これを行う方法はありますか?だれかコード スニペットを見せてくれたり、役立つドキュメントを教えてくれませんか? ありがとう。
私の唯一の他の解決策は、どうにかして独自のバルーンを作成し、どういうわけかコピー & ペースト メニューを無効にすることです。私はむしろそれを試す必要はありません。