2016-03-20 3 views
1

私のチャットアプリで。私はチャットフレーム内にテキストを表示するUIlabelを持っています。ユーザーがテキストやURLのWebリンクを送信すると、私はチャットフレーム内の1つのUIlabelでテキストとURLリンクを作成する方法

In LINE app

だから、「LINE」アプリのようUILabelとの両方のテキストやURLのリンクを表示したい、私は1 UILabelのような「LINE」でテキストやURLリンクを作成するために助けてくださいアプリ。

+0

あなたはこれまでに何を試しましたか?何が動作していないかを示すコードがありますか? –

+0

スタックトレースとコードを追加してください。質問を改善するために[How to Ask](http://stackoverflow.com/help/how-to-ask)をご覧ください。ようこそ! –

答えて

1

EDIT: Shibinの答えを見た後、私はあなたが明示的にそれが自動的に検出されますので、私はその行をコメントアウトしましたので、URLは、文字列の一部の範囲を指定する必要はありません実現。

また、ブログの投稿Text View Linksもご覧ください。完全な例は、リンクのスタイルを設定する方法も示しています。それはクリック可能できるように、おそらく使用したいしようとしている何


ではなく、UILabelのUITextViewです。 UILabelはURLのようにスタイルを設定できますが、URLを開くことはできません。以下は、ラベルとテキストビューの両方のコードを見つけることができます:

let urlString = NSMutableAttributedString(string: "https://www.google.co.jp") 
let attributedString = NSMutableAttributedString(string: "Go to this website now: \(urlString.string)") 

// attributedString.addAttribute(NSLinkAttributeName, value: NSURL(string: urlString.string)!, range: NSMakeRange(24, urlString.length)) 

// text view 
textView.dataDetectorTypes = .Link 
textView.editable = false    
textView.attributedText = attributedString 

// label 
label.attributedText = attributedString 
+0

ありがとう。私はUILabelの代わりにUITextViewを使用しました。しかし、私はURLをクリックしてウェブに行くことはできません。 私のUITextViewはTableViewのセル内にあります。お願い助けて。 – QuocTV

+0

@QuocTV私はテーブルビューのセルの中で簡単な例を作りました。最初から始めて、何が違うのかを比較したいかもしれません。セル、contentView、およびテキストビューのすべてが 'userInteractionEnabled = true'であることを確認し、テキストビューがセルのcontentViewの適切なフレームまたは制約のサブビューであることを確認します。そして、何も重なっていないことを確認してください: 'textView.superview.bringSubviewToFront(textView)' –

+0

@QuocTVあなたの視点には目立つ背景色を与えて、何かが透明であるかどうかを確認することもできます。私はあなたのすべてのビューをランダムに醜い色を助けることができるユーティリティ関数を持っています:[醜い](http://koreyhinton.com/blog/ugly.html) –

0

利用UITextView代わりのUILabelをしてfalseeditableプロパティを設定します。

dataDetectorTypesを使用して、自動的に検出するデータを設定します。あなたの場合、dataDetectorTypes.Linkと設定してください。

textView.editable = false 
textView.dataDetectorTypes = .Link 
関連する問題