ios – 如何为Capital Letters制作UILabel NSUnderlineStyle.StyleSingle referencedString中心

我有以下方法适用于大写和小写字母的标签.

  func strikeThroughLabel(label: UILabel) {
      let attributedString = NSAttributedString(string: label.text!, attributes: [NSStrikethroughStyleAttributeName: NSUnderlineStyle.StyleSingle.rawValue])
      label.attributedText = attributedString
  }

问题是,对于包含所有大写字母的标签,删除线不是垂直居中的.

解决这个相当不方便的问题最简单的方法是什么?

最佳答案 虽然这不是一个很好的解决方案.我必须说这与你所需要的完全相反.

我建议使用NSBaselineOffsetAttributeName,而不是调整行本身,这将根据需要调整文本基线.

这应该使线条相对于UILabel的文本垂直显示在中心.

希望您的要求可以接受.

点赞