最近,我一直在尝试新的 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(使用前将#替换为@)