2015-08-02 2 views
67

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

Пропуск «системный тонкий» до UIFont Контрактор не работает, этот конструктор работает только для несистемных шрифтов.

ответ

190

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

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

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

UIFontWeightUltraLight 
UIFontWeightThin 
UIFontWeightLight 
UIFontWeightRegular 
UIFontWeightMedium 
UIFontWeightSemibold 
UIFontWeightBold 
UIFontWeightHeavy 
UIFontWeightBlack 

san francisco font weights

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

+8

Только для ** iOS 8.2 ** и более поздних версий, thnx – Husam

+0

не полный список без UIFontWeightBlack –

30

На прошивкой 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 продолжает менятьсяСтандартный шрифт для каждой ОС.

3

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

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

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

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

Смежные вопросы