UILabel中富文本垂直不居中的解决方案
2018-10-12 本文已影响0人
鹅鹅鹅_
如下图所示,收益率label由于数字部分是红色,所以使用到了富文本,但是很明显,label中的文本相对label垂直方向不再居中了,位置明显靠下了。
image.png
以下是swift代码
let rate_return_tip = NSMutableAttributedString(string: " 收益率\(String(format: "%.3f", rate_of_return))% ")
rate_return_tip.addAttribute(NSAttributedStringKey.foregroundColor, value: UIColor.red, range: NSMakeRange(5, rate_return_tip.length-5))
rate_return_tip.addAttribute(NSAttributedStringKey.font, value: UIFont.boldSystemFont(ofSize: 18), range: NSMakeRange(0, rate_return_tip.length))
以下是swift解决方案代码
let rate_return_tip = NSMutableAttributedString(string: " 收益率\(String(format: "%.3f", rate_of_return))% ")
rate_return_tip.addAttribute(NSAttributedStringKey.foregroundColor, value: UIColor.red, range: NSMakeRange(5, rate_return_tip.length-5))
rate_return_tip.addAttribute(NSAttributedStringKey.font, value: UIFont.boldSystemFont(ofSize: 18), range: NSMakeRange(0, rate_return_tip.length))
# 调整文本基线,在我这里,因为是垂直方向明显靠下了,所以向上调整了3个单位
rate_return_tip.addAttribute(NSAttributedStringKey.baselineOffset, value:3, range: NSMakeRange(0, rate_return_tip.length))
如下是调整后的效果
image.png