如何在iOS中将UILabel的字体名称设置为HelveticaNeue Thin?

时间:2014-02-28 09:39:56

标签: ios iphone objective-c uifont

我正在创建UILabel,对于标签我可以将字体名称设置为HelveticaNeue Regular,Light,UltraLight等,但是我无法将字体名称设置为HelveticaNeue Thin,它无法按预期工作。我确实喜欢,

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

我也搜索过谷歌没有得到任何解决方案。如何解决这个问题?感谢。

4 个答案:

答案 0 :(得分:21)

此字体与iOS 7捆绑在一起,因此,如果您的目标是iOS 7及以上

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

会奏效。

但是,如果您的目标是iOS 6.1及更低版本,则需要embed the font

答案 1 :(得分:16)

更新了支持swift的答案

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

答案 2 :(得分:2)

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

引用

此字体无法直接应用。

因此您可以自定义字体

How to use custom fonts in iPhone SDK?

答案 3 :(得分:1)

这对我有用。将此代码写在标签声明下方。

它在具有相同字体的函数下设置所有UILabel

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

要将字体设置为特定UILabel ,请使用以下代码:

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