先上效果图
image.png
lable 没有自带这种css很简单就能实现的文字相对两端对象的属性
所以我们只能封装一下了。
import UIKit
//写label 的扩展
extension UILabel {
//自封装lable 两端对齐方法。
func changeAlignmentRightAndLeft () {
let nsstr = NSString.init(string: self.text ?? "")
let size = CGSize(width: self.bounds.width, height: CGFloat(MAXFLOAT))
let conSize = nsstr.boundingRect(with: size, options: NSStringDrawingOptions(rawValue: NSStringDrawingOptions.usesFontLeading.rawValue | NSStringDrawingOptions.truncatesLastVisibleLine.rawValue | NSStringDrawingOptions.usesLineFragmentOrigin.rawValue), attributes: [.font : self.font], context: nil).size
let cfloat = (self.frame.width-conSize.width)/CGFloat(nsstr.length-1)
let numbC = NSNumber(value: Float(cfloat))
let mattStr = NSMutableAttributedString(string: nsstr as String)
mattStr.addAttribute(kCTKernAttributeName as NSAttributedString.Key, value: numbC, range: NSMakeRange(0, nsstr.length-1))
self.attributedText = mattStr
}
}
然后调用一下。
image.png
ojbk