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

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

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

另外我在Google上search没有得到任何解决scheme。 如何解决这个问题? 谢谢。

这种字体与iOS 7捆绑在一起,所以如果你的目标是iOS 7以上的话

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

将工作。

但是,如果您的目标是iOS 6.1及以下版本,则需要embedded字体

更新答案以支持swift

  let font = UIFont(name: "HelveticaNeue-Thin", size: 16.0)! 
 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所示。

由苹果引用

要么

这个字体不能直接应用。

所以你可以自定义你的字体

如何在iPhone SDK中使用自定义字体?

这对我有效。 把这个代码写在你的标签声明之下。

它将所有UILabel设置一个具有相同字体的函数。

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

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

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