iOS 处理字符串不同字体大小,垂直居中的问题

// 处理字符串不同大小不能垂直居中的问题;例如 可抢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的值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容