2
내 앱에서 검색 옵션을 사용하고 있습니다. 단어가 UISearchBar
으로 강조 표시됩니다. 주어진 단어가 여러 번 레이블에 나타날 수 있으므로 모든 단어를 강조 표시해야합니다. 모두 Upper
및 lower
경우에 지원하는iOS Swift 신속하게 특정 텍스트 색상을 라벨 내부에서 변경하십시오.
var SearchAttributeText = "The"
let range = (TextValue as NSString).range(of: SearchAttributeText)
let attribute = NSMutableAttributedString.init(string: TextValue)
attribute.addAttribute(NSForegroundColorAttributeName, value: UIColor.red , range: range)
self.label.attributedText = attribute
필요가있다 방법, 여기 내 샘플 코드, 내가 코드의 일부 세트 시도했지만 그것은 그 단어 하나만 발생을 강조 할 것이다. 단어 The
이 여러 번 강조되어 모두 강조 표시 될 수 있습니다.
의
location
및length
매개 변수를 증가시켜 범위이 자습서를 참조 코드 업데이트의 아래 라인 :은 https ://iosdevcenters.blogspot.com/2015/12/how-to-set-use-multiple-font-colors-in.html – Bhadresh@Bhadresh 이미 주어진 블로그를 기준으로 범위를 기반으로 색상이 변경된이 블로그를 참조한 –
[이 질문] (https://stackoverflow.com/questions/36865443/get-all-ranges-of-a-substring-in-a-string-in-swift)을 사용하여 특정 부분 문자열의 모든 범위를 가져옵니다. 그들을 반복합니다. – the4kman