Как установить имя шрифта UILabel как HelveticaNeue Thin в iOS?

Я создаю UILabel, для метки я могу установить имя шрифта как HelveticaNeue Regular, Light, UltraLight и т.д. Но я не могу установить имя шрифта как HelveticaNeue Thin, он не работает должным образом. Мне понравилось,

label.font = [UIFont fontWithName:@"HelveticaNeue-Thin" size:16];

Также я искал в Google, не получил никакого решения. Как исправить эту проблему? Спасибо.

Ответы

Ответ 1

Этот шрифт поставляется вместе с iOS 7, поэтому, если вы нацеливаете iOS 7 и выше на

label.font = [UIFont fontWithName:@"HelveticaNeue-Thin" size:16.0f];

будет работать.

Однако, если вы настроите iOS 6.1 и ниже, вам нужно вставить шрифт

Ответ 2

Обновленный ответ для поддержки быстрого

    let font = UIFont(name: "HelveticaNeue-Thin", size: 16.0)!

Ответ 3

UIFontDescriptor *helveticaNeueFamily =
    [UIFontDescriptor fontDescriptorWithFontAttributes:
        @{ UIFontDescriptorFamilyAttribute: @"Helvetica Neue" }];
NSArray *matches =
    [helveticaNeueFamily matchingFontDescriptorsWithMandatoryKeys: nil];

Метод matchingFontDescriptorsWithMandatoryKeys: как показано, возвращает массив дескрипторов шрифтов для всех шрифтов Helvetica Neue в системе, таких как HelveticaNeue, HelveticaNeue-Medium, HelveticaNeue-Light, HelveticaNeue-Thin, и поэтому на.

Вы можете изменить шрифты, возвращенные preferredFontForTextStyle: путем применения символических признаков, таких как жирный, курсив, расширенный и сжатый. Вы можете использовать дескрипторы шрифтов для изменения определенных признаков, как показано в листинге 9-2.

на который ссылается apple

или

этот шрифт нельзя применить напрямую.

чтобы вы могли настроить свой шрифт

Как использовать пользовательские шрифты в iPhone SDK?

Ответ 4

Это сработало для меня. Запишите этот код под объявлениями своих ярлыков.

Он устанавливает весь UILabel под функцию с тем же шрифтом.

[[UILabel appearance]setFont:[UIFont fontWithName:@"HelveticaNeue-Thin" size:32.0f]];

Чтобы установить шрифт в конкретный UILabel, используйте этот код:

[labelName setFont:[UIFont fontWithName:@"HelveticaNeue-Thin" size:15.0f]];