如何使用特殊字体属性创建灯光系统字体

时间:2016-09-13 02:59:40

标签: ios uifont

我需要创建一个UIFont:

  1. 旧金山
  2. 重量轻
  3. 使用不区分大小写的字体属性(以显示与数字垂直对齐的' /'字形)
  4. 我正在使用此代码来解决它:

    UIFontDescriptor *fontDescriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody];
    NSArray *additionalFontSettings = @[@{UIFontFeatureTypeIdentifierKey: @(kCaseSensitiveLayoutType), UIFontFeatureSelectorIdentifierKey: @(kCaseSensitiveLayoutOnSelector)}];
    fontDescriptor = [fontDescriptor fontDescriptorByAddingAttributes:@{UIFontDescriptorFeatureSettingsAttribute: additionalFontSettings, UIFontDescriptorTraitsAttribute: @{UIFontWeightTrait : @(UIFontWeightLight)}}];
    return [UIFont fontWithDescriptor:fontDescriptor size:50];
    

    我使用正确的功能启用了正确的字体,但我无法获得要遵守的字体粗细。我需要系统字体的轻量级。我如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

结果马特的提示是正确的。我忘记了您可以从现有的UIFontDescriptor中获得UIFont

因此,创建这样的描述符有效:

UIFont *lightFont = [UIFont systemFontOfSize:50 weight:UIFontWeightLight];
UIFontDescriptor *fontDescriptor = lightFont.fontDescriptor;