我有一个表格视图,可以使用搜索栏进行搜索。
我想用高亮或粗体显示与传递到搜索栏中的字符串匹配的文本。
例如,如果表视图包含:“ Apple”和“ Orange”,并且键入字母“ a”,则希望单元格现在包含“ A pple”和“ Or < strong> a nge”
通过谷歌搜索,我还没有找到一种方法来修改表视图title属性中的文本子字符串。
有人知道这是否有可能吗?
我想要在表格视图中实现的目标是这样的
答案 0 :(得分:0)
请尝试以下操作:
func attributedText(withString string: String, boldString: String, font: UIFont) -> NSAttributedString {
let attributedString = NSMutableAttributedString(string: string,
attributes: [NSAttributedString.Key.font: font])
let boldFontAttribute: [NSAttributedString.Key: Any] = [NSAttributedString.Key.font: UIFont.boldSystemFont(ofSize: font.pointSize)]
let range = (string as NSString).range(of: boldString)
attributedString.addAttributes(boldFontAttribute, range: range)
return attributedString
}
通过cellForRowAtIndexPath
方法传递总字符串和搜索字符串,并将返回值attributedString
分配给您的标签
它可能会帮助您。谢谢。