2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SwiftUIでカスタムフォントを使用する方法

Posted at

概要

SwiftUIでカスタムフォントを使用する方法について解説します。
アプリに個性的なデザインを追加したいときに、カスタムフォントは非常に役立ちます。この記事では、カスタムフォントの設定方法とコードの例を紹介します。

1. カスタムフォントファイルの追加

まず、Xcodeプロジェクトにカスタムフォントファイルを追加します。以下の手順に従ってください。

1. フォントファイル(TTFまたはOTF形式)を用意します。
2. Xcodeでプロジェクトを開き、Assets.xcassetsフォルダの下に新しいフォルダ(例: Fonts)を作成します。
3. 用意したフォントファイルを、このフォルダにドラッグ&ドロップして追加します。
4. Copy items if neededにチェックを入れて、Finishをクリックします。

スクリーンショット 2024-08-12 20.35.40.png

2. Info.plistにフォントを登録

次に、Info.plistファイルにカスタムフォントを登録します。

1. XcodeのプロジェクトナビゲータでInfo.plistを選択します。
2. 右クリックして「Add Row」を選択し、新しいキーとしてFonts provided by applicationを追加します。
3. Fonts provided by applicationの右側の「+」ボタンをクリックして、追加したフォントファイルの名前(拡張子付き)を入力します。
(今回の場合は
Selima.otfになります。)

スクリーンショット 2024-08-12 20.37.45.png

3. SwiftUIでカスタムフォントを使用

フォントが正しく登録されたら、SwiftUIでカスタムフォントを使用できます。以下のコード例を参照してください。

Swift
import SwiftUI

struct ContentView: View {
    var body: some View {
        VStack {
            Text("Hello, SwiftUI!")
                .font(.custom("CustomFontName", size: 24))
                .padding()
        }
    }
}

ここで、CustomFontNameにはフォントの名前を入力します。
注意点として、CustomFontNameはフォントファイルの名前ではなく、フォント自体の名前を打ち込みます。

4. カスタムフォントの活用例

アプリ全体で統一したカスタムフォントを使用する場合、
下記のように、アプリ全体にデフォルトのフォントを設定することができます。

Swift
import SwiftUI

@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                .environment(\.font, Font.custom("CustomFontName", size: 24))
        }
    }
}

これにより、アプリ内の全てのテキストにカスタムフォントが適用されます。

まとめ

カスタムフォントを利用することで、アプリに個性を出すことができ、ユーザーにより良い体験を提供することができます。
是非、試してみてください!

フォント参考

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?