有人熟悉SwiftUI TabView的tabItem不应用自定义字体的问题吗?至少不适用于tvOS13。
对于TabView本身,很容易应用自定义字体,但是当尝试为实际的.tabItem自定义字体时,它不会执行任何操作,但也不会返回任何错误。
首先,我尝试设置一个let
:
let fontCustom = Font.custom("Awesome Font Name", size: 25)
然后创建TabView
:
Text("Kanalen")
.font(fontCustom)
...
有效,但随后以相同方式将TabItem添加到该视图中
...
.tabItem {
HStack {
Image(uiImage: UIImage(named: "icon.pdf")!)
Text("Awesome Item")
.font(Font.custom("Cera-Regular", size: 16))
}
}
...
或者这样:
.tabItem {
HStack {
Image(uiImage: UIImage(named: "icon.pdf")!)
Text("Awesome Item")
.font(Font.custom("Awesome Font Name", size: 16))
}
}
任何人都知道为什么它不起作用,这是否意味着我需要完全创建自定义tabItem视图?
谢谢!
答案 0 :(得分:6)
这似乎可以解决问题,但是使用了底层的UIKIt控件。希望苹果尽快将其实施到swiftui中。
init() {
UITabBarItem.appearance().setTitleTextAttributes([NSAttributedString.Key.font: UIFont.init(name: "Avenir-Heavy", size: 15)! ], for: .normal)
}
答案 1 :(得分:0)
TabView {
Text("The First Tab")
.tabItem {
Image(systemName: "1.square.fill")
Text("First")
}
Text("Another Tab")
.tabItem {
Image(systemName: "2.square.fill")
Text("Second")
}
Text("The Last Tab")
.tabItem {
Image(systemName: "3.square.fill")
Text("Third")
}
}
.font(.headline)
这是苹果的示例,但以这种方式更改字体也会更改图像。
答案 2 :(得分:0)
下面以苹果为例,但以这种方式更改字体也会更改图像。
TabView {
Text("The First Tab")
.tabItem {
Image(systemName: "1.square.fill")
Text("First")
}
Text("Another Tab")
.tabItem {
Image(systemName: "2.square.fill")
Text("Second")
}
Text("The Last Tab")
.tabItem {
Image(systemName: "3.square.fill")
Text("Third")
}
}
.font(.headline)