【问题标题】:iOS 9 monospace textiOS 9 等宽文本
【发布时间】:2017-11-21 09:26:04
【问题描述】:

我的应用中有一个日期倒计时,我想在其中使用旧金山的等宽数字功能。我目前使用此代码检索字体:

UIFontDescriptor *countdownFontDescriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody];
NSArray *additionalFontSettings = @[@{UIFontFeatureTypeIdentifierKey: @(kNumberSpacingType), UIFontFeatureSelectorIdentifierKey: @(kMonospacedNumbersSelector)},
                                    @{UIFontFeatureTypeIdentifierKey: @(kTextSpacingType), UIFontFeatureSelectorIdentifierKey: @(kMonospacedTextSelector)}];
countdownFontDescriptor = [countdownFontDescriptor fontDescriptorByAddingAttributes: @{UIFontDescriptorFeatureSettingsAttribute: additionalFontSettings}];
UIFont *desiredFont = [UIFont fontWithDescriptor:countdownFontDescriptor size:14];

我得到了应该出现的等宽数字,但我的字符串中有分号来分隔数字。偶尔我会看到这个角色移动。我怎样才能让分号的宽度也保持不变? (这就是我尝试添加kTextSpacingType的原因)

【问题讨论】:

    标签: ios


    【解决方案1】:

    不确定,但您是否尝试过查看(从 Xcode 9.1 beta 开始)

    /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreText.framework/Headers/SFNTLayoutTypes.h.
    

    我看不到在那里做的方法,但也许其他人可以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-31
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-15
      • 1970-01-01
      相关资源
      最近更新 更多