【问题标题】:How to set font name of UILabel as HelveticaNeue Thin in iOS?如何在iOS中将UILabel的字体名称设置为HelveticaNeue Thin?
【发布时间】:2014-04-01 05:33:00
【问题描述】:

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

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

我也在谷歌上搜索了没有任何解决方案。如何解决这个问题?谢谢。

【问题讨论】:

标签: ios iphone objective-c uifont


【解决方案1】:

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

所有的UILabel设置在同一个字体的函数下。

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

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

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

【讨论】:

  • 这似乎对我也有用,但是谷歌搜索表明它不应该工作,很困惑。
【解决方案2】:

更新答案以支持 swift

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

【讨论】:

    【解决方案3】:

    此字体与 iOS 7 捆绑在一起,因此如果您的目标是 iOS 7 及更高版本,则

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

    会起作用的。

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

    【讨论】:

    • 应用程序崩溃
    【解决方案4】:
    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?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-22
      • 2016-03-04
      • 2016-01-17
      • 2016-01-16
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      • 2013-06-05
      相关资源
      最近更新 更多