【swift】UILable内のurlをリンク化するライブラリ
はじめに
TTTAttributedLabelの紹介です
今回やりたかったのはラベルで文章を表示して、その中にhttp(httpsも)から始まる文字列があったら
HTMLのアンカーみたいなかんじにしてタップされたらブラウザなりWebビューなりを起動する。ということでした
イメージ的にはこんなかんじのUIです
で、やっぱりやりたいことそのままの
TTTAttributedLabelというライブラリがありました。
おきまりのcocoapodsで導入できます
実装
ViewController.swift
import TTTAttributedLabel class ViewController: TTTAttributedLabelDelegate { var label: TTTAttributedLabel! override func viewDidLoad() { super.viewDidLoad() // インスタンスを生成 self.label = TTTAttributedLabel(frame: CGRectNull) // urlをリンクにする設定 self.label.enabledTextCheckingTypes = NSTextCheckingType.Link.rawValue // 通常のUILabelとおなじようにプロパティを設定できる self.label.font = UIFont.systemFontOfSize(14) // urlをタップされたときになにか処理する場合(Webビューやブラウザを起動したり) self.label.delegate = self self.view.addSubView(self.label) } // urlリンクをタップされたときの処理を記述します func attributedLabel(label: TTTAttributedLabel!, didSelectLinkWithURL url: NSURL!) { // ・・・ } }
iosはやっぱりライブラリが使いやすいライブラリが多くてホント助かります
以上です