| 1234567891011121314151617181920212223242526272829303132 |
- //
- // String+HandleTool.swift
- // map_amap_ios
- //
- // Created by 诺诺诺的言 on 2025/7/22.
- //
- import Foundation
- extension String {
- func width(withConstrainedHeight height: CGFloat, font: UIFont) -> CGFloat {
- let constraintRect = CGSize(width: .greatestFiniteMagnitude, height: height)
- let boundingBox = self.boundingRect(
- with: constraintRect,
- options: [.usesLineFragmentOrigin, .usesFontLeading],
- attributes: [NSAttributedString.Key.font: font],
- context: nil
- )
- return ceil(boundingBox.width)
- }
-
- func height(withConstrainedWidth width: CGFloat, font: UIFont) -> CGFloat {
- let constraintRect = CGSize(width: width, height: .greatestFiniteMagnitude)
- let boundingBox = self.boundingRect(
- with: constraintRect,
- options: [.usesLineFragmentOrigin, .usesFontLeading],
- attributes: [NSAttributedString.Key.font: font],
- context: nil
- )
- return ceil(boundingBox.height)
- }
- }
|