Фиксированный размер шрифта в виджете iOS 14 с SwiftUI

Для виджета iOS 14 я хочу исправить размер шрифта в виджете, даже если у пользователя есть настройки на больший тип в настройках специальных возможностей (больший тип). Я хочу этого, потому что текст уже очень большой (большой виджет цифровых часов), а если он еще больше, текст падает с виджета и, следовательно, нечитаем. Я использую собственный шрифт.

Пытался поправить размер шрифта с помощью .font(.custom("MyCustomFont", size: 17)). Но даже в этом случае шрифт становится больше в зависимости от пользовательских настроек. Как я могу навсегда исправить размер шрифта в виджете iOS 14? Есть ли обходной путь или другой способ исправить размер шрифта для виджета?


person Vincentin    schedule 20.02.2021    source источник


Ответы (1)


Вы можете использовать .environment(\.sizeCategory, .large) для принудительного применения категории размера. Вот пример:

var body: some View {
    VStack {
        Text("text1")
        Text("text2")
    }
    .environment(\.sizeCategory, .large)
}

Категория по умолчанию - large, но здесь вы можете найти другие категории.

person pawello2222    schedule 20.02.2021
comment
Спасибо! Значит, если я правильно понимаю размер по умолчанию, если ползунок в настройках специальных возможностей находится в центре, большой? - person Vincentin; 20.02.2021
comment
@ Винсентен, да, именно так. - person pawello2222; 20.02.2021
comment
Это сработало, спасибо! :) - person Vincentin; 28.02.2021