// 处理字符串不同大小不能垂直居中的问题;例如 可抢800元,800为突出文字,传入“800”的range
// string:需要处理的字符串
// font:突出文字的字号
// range:大号字的range
@objc static func dealStringVerticalCenter(string: NSMutableAttributedString, font: UIFont, range: NSRange) -> NSMutableAttributedString {
let str = string
str.addAttributes([NSAttributedString.Key.font: font], range: range)
str.addAttributes([NSAttributedString.Key.baselineOffset: 1.5], range: NSRange(location: 0, length: 2))
str.addAttributes([NSAttributedString.Key.baselineOffset: 1.5], range: NSRange(location: string.length-1, length: 1))
return str;
}
效果:
WX20231109-153946.png
根据字体大小的差异调整baselineOffset的值