如何更改 SwiftUI 中导航栏标题的文本属性?

2023-12-03

最近,我一直在尝试新的 SwiftUI 框架。

我确实对该框架的工作原理有基本的了解,但我无法找到更改导航栏标题属性的方法。

我使用的是最新的 Xcode 11 beta 5 和相应的 swift/swiftUI 版本

我已经尝试过一些事情。 我尝试的第一件事就是向文本添加修饰符,但不知何故 SwiftUI 似乎忽略了导航栏环境中的修饰符。

我尝试的第二件事是通过更改标题属性UINavigationBar.apperance().titleTextAttributes = ...

但似乎他们在最新的测试版中删除了自定义 UINavigationBar 的 titleTextAttributes 的功能。

//First thing:
List(myData) {
  ...
}
.navigationBarTitle(Text("My title").font(myFont))


// Second thing
UINavigationBar.appearance().titleTextAttributes = myAttrs

我希望导航栏标题具有我的自定义字体,但它始终是苹果默认字体。


在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)
        }
    }
}

我希望这能帮到您。谢谢!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改 SwiftUI 中导航栏标题的文本属性? 的相关文章

随机推荐