はじめに
今回はFontAwesome v4.7.0に自分の使いたいアイコンがあったのでv4.7.0の使い方を紹介します。
おそらくv4.7.0以降でも同じ使い方が可能だと思います。
実装
フォントファイルをダウンロード
最初にこちらからフォントファイルをダウンロードします。
このようなファイルがダウンロードされたと思います。
フォントの読み込み
ダウンロードされたファイルの中から「FontAwesome.otf」をXcodeに読み込ませます。
フォントの読み込み方法は下記のリンクを見てください。
拡張を作成
コピペで大丈夫です
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のアイコンを表示することにしました。
アイコンを選択すると詳細ページに行きます。
赤枠で囲まれているUnicodeをコピーします。
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))
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)
おわり
サンプルプロジェクトです。
アイコンとユニコードの一覧作りました。