iOS

SwiftでTTTAttributedLabelの文字列からリンク表示

投稿日:2017年4月26日 更新日:

はじめに

こんにちは。

はじめましてnukkyです!

よくある挙動ですが、リンクが含まれる文字列を表示する際に
リンクのタップでブラウザを開きたいとなることがあると思います。

そこで、今回はTTTAttributedLabelを使用し、
文字列からリンクの表示、リンクタップ制御を行います。

TTTAttributedLabelとは

リッチなテキストを表示するためのUILabelの機能を拡張するOSSです。
その機能の一つに文字列からリンクを検出してくれる機能があるので
今回は主にその部分の実装についてになります。

https://github.com/TTTAttributedLabel/TTTAttributedLabel#tttattributedlabel

CocoaPodsでインストール

インストールにはCocoaPodsを使用します。

それと、TTTAttributedLabelはObjective-Cで書かれているので
Bridging-Header.hにimportしてください。

実装

Labelの表示

まずはTTTAttributedLabelをimportします。

StoryboardにUILabelを用意し
ClassにTTTAttributedLabelを指定してください。
それをIBOutlet接続します。

テキストのリンクをタップできるように設定します。

リンクを含むテキストをセットします。

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

タップの検知

このままだとタップが検知できないので
TTTAttributedLabelDelegateを設定します。

LabelのDelegateを設定します。

テキスト内のリンクがタップされた場合、以下のメソッドが呼ばれます。

これで、文字列からリンクを表示、リンクタップ制御ができたと思います。

さいごに

UITextViewをつかえば標準でリンクの検知ができますが、
標準の外部ブラウザ起動しかできないので、
TTTAttributedLabelをつかえば、何か処理を挟んだり、
内部のWebViewを起動したりと色々できるので
リンク検知でゴニョゴニョしたいときは便利だと思います!

blog-page_footer_336




blog-page_footer_336




-iOS
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

【Swift】Xcode12対応ではまったNavigationControllerの挙動変更

1 はじめに2 今回のバグ3 詳細な内容4 修正5 さいごに6 おすすめ書籍 はじめに こんにちはsuzukiです。皆さんXcode12対応はおすみでしょうか、今回も駆け込みで色々対応しております。そ ...

[Swift]MapViewでクラスタ機能を利用する。

1 はじめに2 クラスタリングとは3 PINのクラスタリング機能を利用する3.1 マップの作成3.2 PINの作成3.3 Pinのカスタマイズ3.4 カスタムしたPinの利用3.5 CustomPin ...

[SwiftUI]SwiftUIで動的にViewの更新をする方法

1 はじめに2 SwfitUIのViewについて3 値の更新について3.1 Stateの特徴3.2 ObservedObjectの特徴3.3 EnvironmentObjectの特徴4 さいごに5 お ...

swift

【Swift】switch文でタプルを使う

1 はじめに2 タプルとは3 タプルを使うswitch文について4 テストコード5 さいごに はじめに こんにちはsuzukiです。本日で投稿が2回目となります。 今後ともよろしくお願い致します。 最 ...

【iOS14】新機能WidgetKitへの挑戦【実践編】

1 はじめに2 Today Extensionとの違い3 ターゲットの追加4 StaticConfiguration4.1 TimelineProvider4.1.1 getSnapshot4.1.2 ...

フォロー

blog-page_side_responsive

2017年4月
 1
2345678
9101112131415
16171819202122
23242526272829
30  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。