我希望UILabel以以下方式显示文本6.022 * 1023。 Swift对于下标和上标有哪些功能?

最佳答案

大多数答案和示例都在ObjC中,但这是在Swift中的方法。

let font:UIFont? = UIFont(name: "Helvetica", size:20)
let fontSuper:UIFont? = UIFont(name: "Helvetica", size:10)
let attString:NSMutableAttributedString = NSMutableAttributedString(string: "6.022*1023", attributes: [.font:font!])
attString.setAttributes([.font:fontSuper!,.baselineOffset:10], range: NSRange(location:8,length:2))
labelVarName.attributedText = attString

这给了我:

在更详细的说明中:
  • 获取默认样式和上标样式所需的UIFont,上标必须较小。
  • 使用完整的字符串和默认字体创建一个NSMutableAttributedString
  • 为要更改的字符(NSRange)添加一个属性,并使用较小的下标UIFont,并且NSBaselineOffsetAttributeName值是您想要垂直偏移它的数量。
  • 分配给您的UILabel

  • 希望这也对其他Swift开发人员有所帮助。

    关于ios - 如何在Swift中使用下标和上标?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29225779/

    10-12 01:32