TTTAttributeLabelを利用してURLに自動リンクを行う

リッチなテキストを表示するために必要なカスタムUI、TTTAttributeLabelを導入する方法です。

導入

Cocoa podsを利用して導入します。

pod 'TTTAttributeLabel'
pod install

bridging-headerも記述します。

#import <TTTAttributedLabel/TTTAttributedLabel.h>

Storyboardの設定

TTTAttributeLabelに差し替えたいUILabelのカスタムクラス設定をTTTAttributeLabelに変更します。

それをIBOutlet接続すれば、接続先では自動的にTTTAttributeLabelが選択されます。

すでにIBOutlet接続している場合は、接続先のクラスをTTTAttributeLabelに変更してください。

自動リンク機能の設定

自動リンク機能は、enabledTextCheckingTypesの設定値をいじることで実現できます。

Labelにテキストを設定する前に、enabledTextCheckingTypesの設定を行います。

label.enabledTextCheckingTypes = NSTextCheckingType.Link.rawValue

リンクをタップした時の動作を実装する

TTTAttributedLabelDelegateを継承したクラスで、attributedLabel:didSelectLinkWithURL: を実装します。

func attributedLabel(label: TTTAttributedLabel!, didSelectLinkWithURL url: NSURL!) {
    println("onclick!")
}

これで、押された時に反応するようになります。

参考