UIFont
есть методы для получения обычного font ( systemFontOfSize
) или жирного шрифта ( boldSystemFontOfSize
), но как получить "тонкий системный шрифт", доступный через раскадровку?
Передача "тонкой системы" в UIFont
Contructor не работает, этот конструктор работает только для несистемных шрифтов.
Начиная с iOS 8.2 , теперь вы можете использовать
UIFont.systemFontOfSize(_ fontSize: CGFloat, weight weight: CGFloat)
:UIFont.systemFontOfSize(19, weight: UIFontWeightLight)
iOS SDK предоставил константы для весов:
Использование системного шрифта лучше, чем создание шрифта на основе имени шрифта, если вы хотите использовать системные шрифты, поскольку iOS может изменять свои системные шрифты на iOS (например, когда они сделали с Helvetica Neue в iOS 7, а теперь Сан-Франциско в iOS 9) .
Итак, я бы предложил включить TTF-файл шрифта, который вы хотите, чтобы использовать этот ttf-файл в качестве настраиваемого шрифта и использовать настраиваемый шрифт в своем приложении.
Это особая причина, по которой я не люблю Apple. Никогда не говорите, что говорит Apple. Всегда делаем то, что хотим. Apple продолжает менять шрифт по умолчанию для каждой ОС.
источник
Также, если вы хотите сохранить тот же размер шрифта и просто изменить вес, используйте размер шрифта целевого элемента. Например:
с этим вы можете сохранить размер шрифта метки по умолчанию и просто изменить вес.
Начиная с iOS 11, UIFontWeightThin был переименован в
UIFont.Weight.thin
. Более подробную информацию вы можете найти здесь https://developer.apple.com/documentation/uikit/uifont.weight .источник
Swift 4.2
источник