2012-11-27 10 views
5

私はTableviewを持っていて、テーブルビューのセルはUILabelを持つようにカスタマイズされています。 UILabelのテキストにはURLがあります。 UITextViewがどのようにURLを検出できるようにURLを検出して、ユーザーのやりとりがURLを読み込めるようにする方法はありますか?はUILabelでURLを検出します

答えて

5

URLを識別するには、NSDataDetectorに​​のチェックタイプを使用できます。

URLを別の方法で描画したい場合、iOS 6をターゲットにしている場合は、NSAttributedStringを使用してURLを青色に変えたり、下線などにすることができます。古いバージョンのiOSをターゲットにしている場合は、OHAttributedLabelのようなスタイルのテキストを描画するために、無料のコードをインターネット上で探してください。

実際にURLをタッチセンシティブにしたい場合は、タップジェスチャ認識機能をラベルに追加して、文字列のどの部分がタップされているか(やや複雑です)あなたのために既にそれを行うインターネット(OHAttributedLabelのような)、またはちょうどUITextViewをラベルの代わりにテーブルビューのセルに入れてください。

+0

私の[回答はこちら](http://stackoverflow.com/a/29352519/168594)には、@ RobMayoffのように、UITapGestureRecognizerでUILabelの範囲をタップ可能にする方法を示すサンプルコードがあります。 – zekel

-4

Robは、どのように私たちが同じことを達成できるかを指摘してくれてありがとうございます。

しかし、我々はタクトを使用することができるので、UILabelとUIButtonを使用するだけで、iosバージョンの問題を回避することができます(おそらく)。

私たちがする必要があるのは、IBまたはストーリーボードのいずれかから、文字列をURLとしてUILabelを配置するだけです(タイトルとして使用します)。

「www.myURL.com」今

、ちょうどその上、UIButton(カスタム型を持つボタン)を配置し、単に「______」を使用(下線)とあなたのUILabelの重なりととしても、このボタンを設定します「下線」はラベルの下にある必要があります。

ここをクリックして、必要なときに必要なボタンをクリックしてください。ここでは、textColorなどのプロパティも変更できます。また、URLをロードしてUIWebViewにナビゲートします。