Измените шрифт на весь проект SwiftUI из одного места

#swift #swiftui #fonts #swiftui-environment

Вопрос:

есть ли способ изменить шрифт всего проекта SwiftUI из одного места? например, в swift мы переопределяем UIFontDescriptor, CTFontRegularUsage подобным образом, можно ли переопределить шрифт для всего приложения SwiftUI.

пожалуйста, предоставьте любые предложения по этому поводу.

Ответ №1:

Да, вы можете, как в этом примере кода, как только вы измените родителя, дети будут использовать значение, если вы не измените их явно!

     @main
struct YourApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                .font(Font.custom("Charter-Black", size: 20)) // <<: Here!
        }
    }
}

struct ContentView: View {
    
    var body: some View {
        
        Text("Hello, World!")

    }
    
}
 

Комментарии:

1. да, но это изменит весь текст до того же размера (20), нужно ли нам снова переопределять шрифт внутри детского представления?

2. если хочешь, можешь.