我有一个字符串数组,我从数组对象中创建了一个字符串
let stringForLabel = arrayContaingStrings.joined(separator: "\n")
上面标签中的第六行和第七行是单行,如
Nowy Dwor Mazowiecki, Poland
但是由于屏幕宽度显示为2行。所以我将以以下格式显示
如何在UIlabel中实现此间距?我尝试增加情节提要中的行距,但随后会增加标签中的所有行距。 (两张图片的内容不同,我只想显示两种情况下的行距)
答案 0 :(得分:1)
用\n
换行符检测到段落。段落之间的行距和lineBreakModes
的行距将有所不同。
与lineBreakMode
间距相比,您可以使用paragraphSpacing在段落之间添加额外的间距。
也尝试lineHeightMultiple
。
上面提供了Apple Docs链接。
尝试使用此 UILabel扩展:
extension UILabel {
func setLineSpacing(lineSpacing: CGFloat = 0.0, lineHeightMultiple: CGFloat = 0.0) {
guard let labelText = self.text else { return }
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = lineSpacing
paragraphStyle.lineHeightMultiple = lineHeightMultiple
paragraphStyle.paragraphSpacing = 10
let attributedString: NSMutableAttributedString
if let labelattributedText = self.attributedText {
attributedString = NSMutableAttributedString(attributedString: labelattributedText)
} else {
attributedString = NSMutableAttributedString(string: labelText)
}
// Line spacing attribute
attributedString.addAttribute(NSAttributedStringKey.paragraphStyle, value:paragraphStyle, range:NSMakeRange(0, attributedString.length))
self.attributedText = attributedString
}
}