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



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



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

727   3  

3 ответов:

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

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

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

UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy
UIFontWeightBlack

san francisco font weights

начиная с 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.никогдаидите, что говорит Apple. Всегда делай то, что мы хотим.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.

Comments

    Ничего не найдено.