You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Feb 17, 2021. It is now read-only.
For some reasons setting both kern and line height of an attributed string makes boundingRect to return wrong height if the string can fit only one line.
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = 100
let text = NSMutableAttributedString(
string: "test",
attributes: [NSAttributedStringKey.paragraphStyle : paragraphStyle,
NSAttributedStringKey.kern : 0.1,
NSAttributedStringKey.font : UIFont.systemFont(ofSize: 17)])
let size = text.boundingRect(with: CGSize(width: 1000, height: 1000),
options: [.usesLineFragmentOrigin],
context: nil).size
Here the size is (29.59384765625, 120.287109375) which seems fine for width but the height is wrong (maybe is the real height + the line height).
If the text goes multilines then boundingRect returns correct height.
Also removing the kern attribute or setting it to 0 also fixes the problem.
The text was updated successfully, but these errors were encountered:
For some reasons setting both kern and line height of an attributed string makes
boundingRect
to return wrong height if the string can fit only one line.Here the
size
is(29.59384765625, 120.287109375)
which seems fine for width but the height is wrong (maybe is the real height + the line height).If the text goes multilines then
boundingRect
returns correct height.Also removing the
kern
attribute or setting it to 0 also fixes the problem.The text was updated successfully, but these errors were encountered: