Как уменьшить lineSpacing? - PullRequest
0 голосов
/ 10 марта 2019

У меня есть строка Attributed, и я хочу уменьшить ее стандартную высоту.Для этого мне нужно установить отрицательное значение lineSpacing для моего NSMutableParagraphStyle.Но, согласно документации Apple, это незаконно.

Интересный факт: отрицательный lineSpacing на самом деле работает, но вызывает дополнительный нижний интервал в UILabel, который зависит от количества строк.

enter image description here

Можно ли уменьшить высоту линии без побочных эффектов?

1 Ответ

1 голос
/ 10 марта 2019

Использовать NSParagraphStyle.lineHightMultiple https://developer.apple.com/documentation/uikit/nsparagraphstyle/1528614-lineheightmultiple

Вы можете установить для lineHeightMultiple значение больше 0, но меньше 1, и это уменьшит межстрочный интервал.

let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineHeightMultiple = 0.83 //Try different values here to see what looks best

let attrString = NSMutableAttributedString(string: "Your string")
attrString.addAttribute(.paragraphStyle, value: paragraphStyle, range: NSMakeRange(0, attrString.length))

Вы можететакже сделайте это из раскадровки:

enter image description here

...