SwiftUI не применяет пользовательский шрифт для представления с вкладками - PullRequest
1 голос
/ 02 марта 2020

Я пытаюсь отобразить значки 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))

Используется пользовательский шрифт в первый текст (основные метки), но не во вкладках.

Как это исправить?

Спасибо ![enter image description here] 1

Ответы [ 2 ]

1 голос
/ 02 марта 2020

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

Мы создаем Image объект для нашего tabItem, но с использованием UIImage. И это UIImage будет исходить от FontAwesome.

enter image description here

0 голосов
/ 03 марта 2020

Быстрое обновление до ответа Гленна. Когда вы добавляете Pod, убедитесь, что вы добавили его в свои тесты, чтобы вы могли запустить его, см. Демонстрации пользовательского интерфейса.

Сделайте это с:

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