Files
yingmeng-ios-switf/yinmeng-ios/Extension/UILabel/UILabel+.swift
2024-03-11 10:07:12 +08:00

48 lines
1.7 KiB
Swift

//
// UILabel+.swift
// yinmeng-ios
//
// Created by duoban on 2024/3/6.
//
import Foundation
extension UILabel{
static func getCustomLabel(text:String? = "",font:UIFont? = nil,color:UIColor? = nil,textAlignment:NSTextAlignment? = .left,numberOfLines:Int? = 1)->UILabel{
let customView = UILabel()
if let _text = text {
customView.text = text
}
if let _font = font {
customView.font = _font
}
if let _color = color {
customView.textColor = _color
}
if let _textAlignment = textAlignment{
customView.textAlignment = _textAlignment
}
if let _numberOfLines = numberOfLines{
customView.numberOfLines = _numberOfLines
}
return customView
}
static func getLabelHeigth(text:String,width:CGFloat,font:UIFont)-> CGFloat{
let label:UILabel = UILabel(frame: CGRect(x: 0, y: 0, width: width, height: CGFloat.greatestFiniteMagnitude))
label.numberOfLines = 0
label.lineBreakMode = NSLineBreakMode.byWordWrapping
label.font = font
label.text = text
label.sizeToFit()
return label.frame.height
}
static func getLabelWidth(text:String,heigth:CGFloat,font:UIFont)-> CGFloat{
let label:UILabel = UILabel(frame: CGRect(x: 0, y: 0, width: CGFloat.greatestFiniteMagnitude, height:heigth ))
label.numberOfLines = 0
label.lineBreakMode = NSLineBreakMode.byWordWrapping
label.font = font
label.text = text
label.sizeToFit()
return label.frame.width
}
}