0
1

More than 1 year has passed since last update.

【Swift】FontAwesomeを使う

Last updated at Posted at 2022-07-13

はじめに

今回はFontAwesome v4.7.0に自分の使いたいアイコンがあったのでv4.7.0の使い方を紹介します。
おそらくv4.7.0以降でも同じ使い方が可能だと思います。

実装

フォントファイルをダウンロード

最初にこちらからフォントファイルをダウンロードします。
スクリーンショット 2022-07-13 19.24.47.png
このようなファイルがダウンロードされたと思います。
スクリーンショット 2022-07-13 19.28.09.png

フォントの読み込み

ダウンロードされたファイルの中から「FontAwesome.otf」をXcodeに読み込ませます。
スクリーンショット 2022-07-13 19.25.43.png

フォントの読み込み方法は下記のリンクを見てください。

拡張を作成

コピペで大丈夫です

extension String {
    static func FontAwesome(unicode: String) -> String {
        guard let unicode = Int(unicode, radix: 16) else { return String(format: "%C", 0x0000) }
        return String(format: "%C", unicode)
    }
}

使い方

こちらから使いたいアイコンを探します。
今回はPayPalのアイコンを表示することにしました。
スクリーンショット 2022-07-13 19.38.30.png
アイコンを選択すると詳細ページに行きます。
赤枠で囲まれているUnicodeをコピーします。
スクリーンショット 2022-07-13 19.39.45.png

SwiftUI

ContentView.swift
import SwiftUI

struct ContentView: View {
    var body: some View {
        Text(String.FontAwesome(unicode: "f1f4"))
            .font(.custom("FontAwesome", size: 80))
    }
}

ここでアイコンの指定をします。

String.FontAwesome(unicode: "f1f4")

ここでフォントの設定をします。

.font(.custom("FontAwesome", size: 80))

Simulator Screen Shot - iPhone 12 - 2022-07-13 at 19.44.41.png

UIKit

ViewController.swift
import UIKit

class ViewController: UIViewController {

    var Label: UILabel = {
        var label = UILabel()
        label.font = UIFont(name: "FontAwesome", size: 80)
        label.text = String.FontAwesome(unicode: "f1f4")
        label.translatesAutoresizingMaskIntoConstraints = false

        return label
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        view.addSubview(Label)

        NSLayoutConstraint.activate([
            Label.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: 0),
            Label.centerXAnchor.constraint(equalTo: view.centerXAnchor, constant: 0)
        ])
    }
}

ここでアイコンの指定をします。

label.text = String.FontAwesome(unicode: "f1f4")

ここでフォントの設定をします。

label.font = UIFont(name: "FontAwesome", size: 80)

Simulator Screen Shot - iPhone 12 - 2022-07-13 at 19.44.41.png

おわり

サンプルプロジェクトです。
アイコンとユニコードの一覧作りました。

0
1
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
1