SwiftUI 未将自定义字体应用于选项卡式视图

SwiftUI Not Applying Custom Font to Tabbed View

我试图在我的选项卡式视图中显示 FontAwesome 图标,但 swift 没有。

这是我的代码:

        TabView(selection: $selection){
            Text(" \u{f466} First View")
                .tabItem {


                          Text("\u{f466} First Vw")

                }
                .tag(0)
            Text("Second View")
                .tabItem {
                       Text("\u{f466} First View")

                }
                .tag(1)
        }.font(Font.custom("Font Awesome 5 Free", size:18))

它在第一个文本(主标签)中使用了自定义字体,但在选项卡中没有。

我该如何解决这个问题?

谢谢]1

不幸的是,

FontAwesome 不适用于 tabItem。至于为什么,目前我还没有找到。如您所见,在简单的 Text 中,它有效!

好消息是,有解决办法。

使用FontAwesome.swift

pod 'FontAwesome.swift'

Github: https://github.com/thii/FontAwesome.swift

var body: some View {
        TabView(selection: $selection){
            Text("First View")
                .tabItem {
                    Image(uiImage: UIImage.fontAwesomeIcon(name: .coffee, style: .solid, textColor: .black, size: CGSize(width: 30, height: 30)))
                    Text("First Vw")
            }
            .tag(0)
            Text("\u{f075} Second View")
                .font(Font.custom("FontAwesome5Free-Solid", size:18))
                .tabItem {
                    Text("\u{f075} First View")
            }
            .tag(1)
        }.font(Font.custom("FontAwesome5Free-Solid", size:18))
    }

我们为 tabItem 创建一个 Image 对象,但使用 UIImageUIImage 将来自 FontAwesome。

快速更新格伦的回答。添加 Pod 时,请确保将其添加到测试中,这样您就可以 运行 看到 UI 演示。

这样做:

platform :ios, '13.1'
    target "AppName" do
        pod 'FontAwesome.swift'
    target 'AppNameTests' do
        inherit! :complete
    end 
    target 'AppNameUITests' do
        inherit! :complete
     end
end