ナビゲーションバーのタイトルフォントを設定する 質問する

ナビゲーションバーのタイトルフォントを設定する 質問する

これはUIKitではなくSwiftUIに関する質問です

SwiftUI を使用してナビゲーション バーのタイトルに別のフォントを設定しようとしています。これはまだサポートされていないのではないかと思います。試したことは次のとおりです。

var body: some View {
  NavigationView {
    .navigationBarTitle(Text("Dashboard").font(.subheadline), displayMode: .large)
  }
}

設定をどう変えても.fontテキストは変わりません。カスタムフォントを設定したり、displayModeプロパティを削除したりも試しました。

ここに画像の説明を入力してください

これを動作させることができた人はいますか?

ベストアンサー1

SwiftUIでは、この時点ではnavigationBarTitleフォントを直接変更することはできませんが、次のようにナビゲーションバーの外観を変更することができます。

struct YourView: View {
    init() {
        //Use this if NavigationBarTitle is with Large Font
        UINavigationBar.appearance().largeTitleTextAttributes = [.font : UIFont(name: "Georgia-Bold", size: 20)!]

        //Use this if NavigationBarTitle is with displayMode = .inline
        //UINavigationBar.appearance().titleTextAttributes = [.font : UIFont(name: "Georgia-Bold", size: 20)!]
    }
    var body: some View {
        NavigationView {
            Text("Hello World!")
              .navigationBarTitle(Text("Dashboard").font(.subheadline), displayMode: .large)
            //.navigationBarTitle (Text("Dashboard"), displayMode: .inline)
        }
    }
}

おすすめ記事