我希望我的UILabel以6.022 * 1023的方式显示文本.下标和上标有哪些熏蒸剂?
解决方法
大部分答案都是在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: [NSFontAttributeName:font!]) attString.setAttributes([NSFontAttributeName:fontSuper!,NSBaselineOffsetAttributeName:10],range: NSRange(location:8,length:2)) labelVarName.attributedText = attString;
这给了我
在一个更详细的解释:
>获取UIFont你想要的默认和上标样式,上标必须更小.
>使用完整的字符串和默认字体创建一个NSMutableAttributedString.
>将要更改的字符(NSRange)添加一个属性,使用较小的/下标UIFont,并且NSBaselineOffsetAttributeName值是要垂直偏移的量.
>将其分配给您的UILabel
希望这可以帮助其他Swift开发者,因为我也需要这个.