Как исправить межстрочный интервал UILabel? - PullRequest
1 голос
/ 23 сентября 2019

Этот код отлично работал на iOS 12 и ниже, и проблема возникает при запуске iOS 13. Цель состоит в том, чтобы убрать расстояние между строками по высоте до 0, чтобы у моих ярлыков было меньше места между текстом.У меня есть две метки внутри ячейки представления коллекции, и когда я прокручиваю ячейки за пределы экрана, а затем прокручиваю обратно вниз, текст метки теперь «обрезается».Это было не так, как я упоминал в предыдущих версиях iOS.Любая помощь, исправляющая это, была бы удивительной.Заранее спасибо.

Это мой код:

extension: UILabel {

        func addLineSpacing(spacing: CGFloat) {
        guard let text = text else { return }

        let originalText = NSMutableAttributedString(string: text)
        let style = NSMutableParagraphStyle()
        let lineHeight = font.pointSize - font.ascender + font.capHeight
        let offset = font.capHeight - font.ascender
        let range = NSRange(location: 0, length: text.count)

        style.maximumLineHeight = lineHeight
        style.minimumLineHeight = lineHeight
        style.alignment = .center

        originalText.addAttribute(.paragraphStyle, value: style, range: range)
        originalText.addAttribute(.baselineOffset, value: offset, range: range)

        attributedText = originalText
    }
}

Так выглядит текст UILabel перед прокруткой:

enter image description here

Так выглядит после прокрутки.Обратите внимание, что текст кажется сдвинутым вверх и обрезанным

enter image description here

...