Уифонт - как получить системный тонкий шрифт


UIFont есть способы получить обычный шрифт (systemFontOfSize) или жирный шрифт (boldSystemFontOfSize), но как получить "тонкий системный шрифт", доступный через раскадровку?

Передача "System-thin" в UIFont Contructor не работает, этот конструктор работает только для несистемных шрифтов.

3 80

3 ответа:

Вы можете использовать системный шрифт thin weight:

UIFont.systemFont(ofSize: 34, weight: UIFontWeightThin)

Список доступных весов для Сан-Франциско:

UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy
UIFontWeightBlack

вес шрифта Сан-Франциско

По состоянию на iOS 11, UIFontWeight* переименован в UIFont.Weight.*. Больше вы можете получить здесь https://developer.apple.com/documentation/uikit/uifont.weight .

по состоянию на iOS 8.2, Теперь вы можете использовать UIFont.systemFontOfSize(_ fontSize: CGFloat, weight weight: CGFloat):

UIFont.systemFontOfSize(19, weight: UIFontWeightLight)

IOS SDK предоставляет константы для Весов:

UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy

Использование системного шрифта лучше, чем создание шрифта на основе имени шрифта, когда вы хотите использовать системные шрифты, так как iOS может изменить свои системные шрифты на iOS (например, когда они сделали с Helvetica Neue в iOS 7, а теперь, Сан-Франциско в iOS 9).

Так что я бы предложил включить файл TTF шрифта, который вы хотите, как использовать этот файл ttf в качестве пользовательский шрифт и используйте пользовательский шрифт в своем приложении.

это особая причина, почему я не люблю Яблоко. Никогда делай, что тебе говорят. Всегда делай то, что мы хотим. Apple продолжает меняться шрифт по умолчанию для каждой ОС.

Также, если вы хотите сохранить тот же размер шрифта и просто изменить вес, то используйте от целевого размера шрифта элемента. Например:

demoLabel.font = UIFont.systemFont(ofSize: demoLabel.font.pointSize, weight: UIFontWeightThin)

С помощью этого вы можете сохранить размер шрифта метки по умолчанию и просто изменить вес.

Начиная с iOS 11, UIFontWeightThin был переименован в UIFont.Weight.thin. Больше вы можете получить здесь https://developer.apple.com/documentation/uikit/uifont.weight .