0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Swift】ActiveLabelを使ったハッシュタグをクリックした後の処理

Last updated at Posted at 2023-05-10

はじめに

マークアップと比較して、iOSではテキストの中からURLを検知し、それをリンクとして処理するのに工数がかかる。

ActiveLabelを使って、UILabelの中の#をクリックしたときにTwitterのURLに飛ばす処理を備忘録として記録。

実装

「ハッシュタグをクリックしてURLを開く処理」に対するエラーハンドリングは実装してないので、参考までに。

ViewController.swift
import UIKit
import ActiveLabel

final class ViewController: UIViewController {
    @IBOutlet private var label: ActiveLabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        label.handleHashtagTap { hashtag in
            let appURL = URL(string: String.twitterURL)!
            UIApplication.shared.open(appURL, options: [:], completionHandler: nil)
        }
    }
}

プレビュー

アプリの画面

ハッシュタグをクリックした後の画面

終わりに

UILabelの文字の中から正規表現を使わずに#を認識してもらえるのは助かる

ActiveLabelはURL, メールアドレスにも活用できるので、今後有効活用したい

参考リンク

ActiveLabel - Github
UIを作る際にライブラリにする?それともDIYする?の切り分けと実装のアイデア帳 (@Swift Tweets 2018 Spring)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?