【发布时间】:2019-06-25 14:37:11
【问题描述】:
我正在尝试在另一个文本中创建多行单独文本以实现以下文本样式。
我已尝试使用以下代码来生成目标,但代码的第三部分正在创建问题(中等字体)
private func createLimitedDetailText() -> NSAttributedString {
let totalText = "Attension, only\n 6 spaces\n left!"
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = .center
let attributedString = NSMutableAttributedString(string: totalText, attributes: [
.font: FontFamily.OpenSans.light.font(size: 29.0),
.foregroundColor: UIColor.white,
])
let bigText = attributedString.addAttribute(.font, value: FontFamily.OpenSans.extrabold.font(size: 70), range: NSRange(location: 17, length: 1))
let medium = attributedString.addAttribute(.font, value: FontFamily.OpenSans.semibold.font(size: 29), range: NSRange(location: 18, length: 14))
let textRange = NSRange(location: 0, length: attributedString.length)
attributedString.addAttribute(NSAttributedString.Key.paragraphStyle, value: paragraphStyle, range: textRange)
return attributedString
}
【问题讨论】:
-
我认为只使用一个
NSAttributedString是不可能的。 -
我可以使用多个 NSAttributedString。目前我正在用baselineOffset做一些实验,但是因为第三部分是2行,所以它会产生问题。
标签: ios swift uikit nsattributedstring nsparagraphstyle