如何将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]];