Swift - iOS 8 - NSKernAttributeName 字符间距问题

Swift - iOS 8 - NSKernAttributeName character spacing problems

我的应用程序的一部分有助于将存储的字符串值绘制到图形上下文以供用户查看。这是通过具有以下属性的属性字符串完成的。

  //adding the attributes to the NSAttributedString
  let textStyle = NSMutableParagraphStyle.defaultParagraphStyle().mutableCopy() as NSMutableParagraphStyle
  let textColor = UIColor.blackColor()
  let boxTextFontAttributes = [
  NSFontAttributeName : font!,
  NSForegroundColorAttributeName: textColor,
  NSParagraphStyleAttributeName: textStyle,
  NSKernAttributeName: (7.62),
  ]

我发现输出中的 NSKernAttributeName 字符间距有问题。

我有 2 个字符串,都具有相同的 CGRect 尺寸(但不同的 y 位置(一个在另一个下面)),都是大写,相同的字体和大小。

每当涉及到其中一个字符串中的 'thinner' 字符时,例如 "I",它似乎会影响后面字符的间距。

我基本上需要让两个字符串中的每个字符垂直嵌入到字符串 above/below 而不管它是什么字符?我只能假设即使字符之间可能有固定间距,每个字符仍然有一个单独的 'width' 影响其余部分。有没有办法将其标准化?

如有任何帮助,我们将不胜感激 -(由于缺乏声誉点而无法 post 图片表示歉意)

等宽字体更正了字符对齐问题。 iOS 8 中可用的一些示例等宽字体是 Courier & Menlo。有用post:What is a monospace font in iOS?