我正在将SwiftUI与Xcode 11结合使用,并且我想用以下代码行更改NavigationBarTitle字体:

.navigationBarTitle (Text("Navigation Bar Title"), displayMode: .inline)
    .font(.subheadline)

但是什么也没发生。有什么建议或意见吗?

最佳答案

在SwiftUI中,目前我们无法直接更改navigationBarTitle字体,但是您可以像这样更改navigationBar的外观,

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("TEST")
            .navigationBarTitle (Text("TEST"), displayMode: .inline)
        }
    }
}

希望对您有帮助。谢谢!!

10-08 08:07