您必须处理标题和描述的字符串,然后创建一个新的
NSAttributedString
. 比如:
func limitNumLines(_ msg: String, max: Int) -> String{
if max <= 0 { return "" }
let lines = msg.components(separatedBy: "\n")
var output = ""
for i in 0..<max {
output += lines[i] + "\n"
}
return output
}
let titleMessage = "LINE1\nLINE2\nLINE3\nLINE4"
let descMessage = "line1\nline2\nline3\nline4\nline5\nline6"
//linkTitleAttributed (that is, message) should be maximum 2 lines.
let title = limitNumLines(titleMessage, max: 2)
let linkTitleAttributed = NSMutableAttributedString(string: title , attributes: [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 19.0)])
//linkDescAttributed should be maximum 5 lines.
let desc = limitNumLines(descMessage, max: 5)
let linkDescAttributed = NSAttributedString(string: desc , attributes: [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 15.0)])
let finalAttributed = NSMutableAttributedString()
finalAttributed.append(linkTitleAttributed)
finalAttributed.append(linkDescAttributed)