关于iOS9系统下数字抖动的问题

由于iOS9系统使用全新的SF字体作为显示的数字字体,该字体具有比例字体的属性功能,使不同字母和数字的宽度按具体的字体来进行比例调整,对于需要统一字体宽度或者是倒计时等功能的字体显示时,会造成字体长短不一或数字抖动等问题,解决方法有两种:

  1. StoryBoard设置:把Font的设置从System设置为Helvetica Neue。
  2. 代码设置,把需要调整的字体按以下方式设置,可调整为等宽字体形式(monospaced):
let originalFont = UIFont.systemFontOfSize(17)
let originalFontDescriptor = originalFont.fontDescriptor()

let fontDescriptorFeatureSettings = [
    [
    UIFontFeatureTypeIdentifierKey: kNumberSpacingType,
    UIFontFeatureSelectorIdentifierKey: kMonospacedNumbersSelector
    ]
]

let fontDescriptorAttributes = [UIFontDescriptorFeatureSettingsAttribute: fontDescriptorFeatureSettings]    
let fontDescriptor = originalFontDescriptor.fontDescriptorByAddingAttributes(fontDescriptorAttributes)
let font = UIFont(descriptor: fontDescriptor, size: 0)
posted @ 2017-02-10 12:24  oceannw  阅读(494)  评论(0编辑  收藏  举报