テーブルビューがあり、テーブルビューセルはUILabelを持つようにカスタマイズされています。UILabelのテキストにはURLが含まれています。UITextViewがURLの検出を有効にして、ユーザーの操作でURLをロードできるようにする方法など、URLを検出する方法はありますか。
2 に答える
URL を特定するだけの場合はNSDataDetector
、NSTextCheckingTypeLink
checking タイプを使用できます。
URL を別の方法で描画したい場合、および iOS 6 をターゲットにしている場合は、 を使用しNSAttributedString
て URL を青くしたり、下線を引いたりすることができます。古いバージョンの iOS を対象としている場合は、インターネットで無料のコードを探して、OHAttributedLabel
.
実際に URL をタッチ センシティブにしたい場合は、ラベルにタップ ジェスチャ認識機能を追加して、文字列のどの部分がタップされたかを調べようとするか (やや複雑です)、インターネットで既に公開されている無料のコードを探します。あなたのためにそれをするか( のようにOHAttributedLabel
)、UITextView
ラベルの代わりにテーブルビューのセルに を入れてください。
ロブが指摘するように、どうすれば同じことを達成できるかは素晴らしいことです。
しかし、UILabel と UIButton を使用するだけで、タクトを使用できるので、ios バージョンの問題で保存できます (おそらく)。
私たちがする必要があるのは、IB またはストーリーボードのいずれかから、URL として文字列を含む UILabel を配置することです (これをタイトルとして使用します)。
「www.myURL.com」
次に、そのすぐ上に UIButton(カスタム タイプのボタン) を配置し、"______"(下線) を使用して、このボタンを UILabel と重なるように設定します。また、「下線」はラベルの下にある必要があります。
ここで、URL のクリック時に必要なボタンのアクションを実行するだけで、ここでも textColor などのプロパティを変更できます。また、URL をロードして UIWebView に移動します。