Как и многие парни, упомянутые выше, и основываясь на моем тесте.
Я использую open func boundingRect(with size: CGSize, options: NSStringDrawingOptions = [], context: NSStringDrawingContext?) -> CGRect
на iOS, как показано ниже:
let rect = attributedTitle.boundingRect(with: CGSize(width:200, height:0), options: NSStringDrawingOptions.usesLineFragmentOrigin, context: nil)
Здесь 200
- это фиксированная ширина , как и ожидалось, высота. Я даю ей 0 , так как я думаю, лучше сказать, что высота API неограничена .
Опция здесь не так важна , Я попробую .usesLineFragmentOrigin
или .usesLineFragmentOrigin.union(.usesFontLeading)
или .usesLineFragmentOrigin.union(.usesFontLeading).union(.usesDeviceMetrics)
, это даст тот же результат.
И результат ожидается как мой, хотя.
Спасибо.