このエントリーをはてなブックマークに追加

2017年2月3日金曜日

Swift3でTTTAttributedLabelリンク表示の指定をやってみた

こんにちは、onukiです。

以前、TTTAttributedLabelでのリンク表示を紹介しましたが
今回は応用でLabelにリンクを表示したくない時などに使える
リンク表示の指定をやって見たいと思います。

準備

前回の記事を参照してください。

実装

今回は表示の文字列から「URL」の部分をタップできるようにします。
//リンクをタップできるように設定
linkLabel.enabledTextCheckingTypes = NSTextCheckingResult.CheckingType.link.rawValue
//リンクのタップを制御するために設定
linkLabel.delegate = self
let label = "URLをタップできます。"
linkLabel.text = label
//labelから“URL”を部分を選択
let range = NSRange.init(location: 0, length: 3)
//タップした時の接続先
let url = URL(string: "https://www.google.co.jp/")
//TTTAttributedLabelにリンクを指定
linkLabel.addLink(to: url, with: range)

実行するとこのような表示になります。


「URL」をタップすると以下のメソッドが呼ばれます。
func attributedLabel(_ label: TTTAttributedLabel!, didSelectLinkWith url: URL!) {
    print(url)//url => https://www.google.co.jp/
}

遷移するURLを画面に表示しないので色々使えると思います。

0 件のコメント:

コメントを投稿