Xcode 11でSwiftUIを使用していて、次のコード行でNavigationBarTitle
フォントを変更したい:
.navigationBarTitle (Text("Navigation Bar Title"), displayMode: .inline)
.font(.subheadline)
しかし、何も起こりませんでした。提案やコメントはありますか?
NavigationBarBuilderを作成する必要があると思います。
struct NavigationBarBuilder: UIViewControllerRepresentable {
var build: (UINavigationController) -> Void = { _ in }
func makeUIViewController(context: UIViewControllerRepresentableContext<NavigationBarBuilder>) -> UIViewController {
UIViewController()
}
func updateUIViewController(_ uiViewController: UIViewController, context: UIViewControllerRepresentableContext<NavigationBarBuilder>) {
if let navigationController = uiViewController.navigationController{
self.build(navigationController)
}
}
}
コンテンツビューで使用できます。
struct ContentView: View {
var body: some View {
NavigationView {
Text("")
.navigationBarTitle("Türkiye", displayMode: .inline)
.background(NavigationBarBuilder {navigationController in
navigationController.navigationBar.barTintColor = .red
navigationController.navigationBar.titleTextAttributes = [.foregroundColor: UIColor.white]
})
}
.navigationViewStyle(StackNavigationViewStyle())
}
}
幸運を...