iOS 9等宽文本

前端之家收集整理的这篇文章主要介绍了iOS 9等宽文本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的应用程序中有一个日期倒计时,我想利用旧金山的等宽数字功能.我目前使用此代码检索字体:

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的原因)

解决方法

不确定,但你试过看(从Xcode 9.1测试版开始)

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

我无法在那里看到一种方法,但也许其他人可以.

猜你在找的iOS相关文章