テキストに URL が含まれている可能性のあるテキストをアプリに表示しようとしています。URL をハイパーリンクとして強調表示し、クリックできるようにします。さらに、クリックされたときに、カスタム アクションを実行できるコールバックを提供したいと考えています。もちろん、URL はコールバックに返される必要があるので、どうすればよいかがわかります (たとえば、アプリ内ブラウザーで開くなど)。
これは複雑に聞こえるかもしれませんが、基本的にアプリストアのすべての IM アプリ (30 以上) には、ユーザーが URL を含む IM を送信し、受信側がそれをクリックしてアプリ内ブラウザーでページを開くことができるこの機能があります。 .
これはどのように行われますか?私はそれを理解することはできません。解決策がある場合は、サンプル コードを提供してください。ありがとうございました。
ところで:
答えはUIWebView ではありません(複数のインスタンスをレンダリングするのが非常に遅いため)。
URLを解析することはできますが、クリック時にカスタムコールバックを設定できないため、答えもUITextViewではありません。そのため、サファリを開くだけです。
URL を解析してそれにカスタム アクションを割り当てることはできますが、URLMap で事前に割り当てる必要があるため、答えもTTStyledTextLabelではありません。そして明らかにこの場合、事前に URL が何であるかはわかりません。私の知る限り、すべての URL をカスタム アクションに割り当てることはできません。