Swift 计算文字尺寸 - lidaoyuan/Notes GitHub Wiki
extension String {
func textHeight(font : CGFloat , width : CGFloat) -> CGSize {
return self.boundingRect(with: CGSize(width: width, height: CGFloat(MAXFLOAT)), options: [.usesLineFragmentOrigin], attributes: [NSAttributedString.Key.font : UIFont.systemFont(ofSize: font)], context: nil).size
}
func boldTextHeight(font : CGFloat , width : CGFloat) -> CGSize {
return self.boundingRect(with: CGSize(width: width, height: CGFloat(MAXFLOAT)), options: [.usesLineFragmentOrigin], attributes: [NSAttributedString.Key.font : UIFont.boldSystemFont(ofSize: font)], context: nil).size
}
func textViewHeight(font : CGFloat , width : CGFloat) -> CGSize {
return self.boundingRect(with: CGSize(width: width, height: CGFloat(MAXFLOAT)), options: [.usesFontLeading, .usesLineFragmentOrigin], attributes: [NSAttributedString.Key.font : UIFont.systemFont(ofSize: font)], context: nil).size
}
}