UILabel文本截断与文本中的换行符
我有一个UILabel作为titleView放在导航栏中。 我想它有2行,其中第一行可以被截断,第二行是中心alignment。
在代码中,它看起来更像这样:
let label = UILabel() let text = NSAttributedString(string: "Long long long text\nsecond line") label.attributedText = text label.textAlignment = .Center label.numberOfLines = 0 label.lineBreakMode = .ByTruncatingTail label.sizeToFit() self.navigationItem.titleView = label
第一行文字不超过可用空间的效果如下:
到现在为止还挺好。
第一行文字较长时出现问题:
let text = NSAttributedString(string: "Very very very very very long text\nsecond line")
和效果:
我想达到的是:
任何想法如何可以做到? 我尝试了numberOfLines和lineBreakMode,但没有得到满意的结果。
将您的行分隔ByTruncatingMiddle
更改为ByTruncatingMiddle
而不是ByTruncatingTail
。 像下面的东西,
label.lineBreakMode = .ByTruncatingMiddle
希望这会帮助:)