Атрибуция строки и отображение одного слова в две строки на UILabel

Anusha Kottiyal спросил: 13 октября 2017 в 06:58 в: swift

Я создаю атрибутивный текст, используя следующие атрибуты,

func attributedString(font: UIFont, contentColor: UIColor, alignment: NSTextAlignment) -> NSAttributedString {    let paragraphStyle = NSMutableParagraphStyle()
    paragraphStyle.lineSpacing = 0.6
    paragraphStyle.lineHeightMultiple = 0.8
    paragraphStyle.alignment = alignment
    paragraphStyle.lineBreakMode = .byWordWrapping    let lineSpacingAttribute: [NSAttributedStringKey: Any] = [NSAttributedStringKey.paragraphStyle: paragraphStyle, NSAttributedStringKey.font: font, NSAttributedStringKey.foregroundColor: contentColor]
    let attributedString = NSAttributedString(string: self, attributes: lineSpacingAttribute)    return attributedString
}

Я отображаю этот текст в UILabel внутри пользовательского tableViewCell. Но это разрезание одного слова на два (разрезание последней буквы слова и отображение его на следующей строке). Я установил numberOfLines на ноль и preferredMaxLayoutWidth для метки. И я использую нестандартный шрифт.

Эта проблема возникает только на iPhone, на небольших экранах и симуляторы iPhone 5S. Но на других симуляторах он отображается правильно. Не могли бы вы помочь мне выяснить, что в этом плохого?

Спасибо!

0 ответов