Установить систему, чтобы всегда использовать закругленный шрифт? - PullRequest
0 голосов
/ 10 ноября 2019

В SwiftUI, есть ли способ сделать округленную версию системного шрифта по умолчанию для всех стилей? Я использую один из системных стилей (.body, .title, .headline и т. Д.) Для всего текста в приложении.

Например, я могу использовать это в одном текстовом представлении

Text("some text")
    .font(.system(.body, design: .rounded))

Я бы хотел избежать обновления каждого текстового представления и поля в моем приложении следующим образом. Есть ли какой-нибудь способ сказать окружению использовать округленный дизайн по умолчанию?

Ответы [ 2 ]

1 голос
/ 10 ноября 2019

Вы можете создать расширение на Font, которое имеет функцию, которая автоматически устанавливает округление дизайна, в то же время позволяя вам установить TextStyle

extension Font {
    static func roundedFont(_ style: Font.TextStyle) -> Font {
        Font.system(style, design: .rounded)
    }
}

Тогда вы будете использовать его какэто:

struct ContentView: View {
    var body: some View {
        Text("Hello").font(.roundedFont(.body))
    }
}
1 голос
/ 10 ноября 2019

Вот как можно установить шрифт окружения в корневом представлении, все подпредставления будут иметь его по умолчанию.

var body: some View {
    NavigationView {
        VStack {
            NavigationLink(destination: Text("Details")) {
                Text("Link")
            }
            Text("Tap on image to find details")
        }
    }.environment(\.font, Font.system(.body, design: .rounded))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...