Ich habe einige Suchoptionen in meiner App, die gegebenes Wort in UISearchBar
hervorheben wird. Gegebenes Wort kann mehrere Male im Etikett vorkommen Ich muss alle diese Wörter markieren. Wie es möglich ist, habe ich mit einem gewissen Satz von Codes versucht, aber es wird nur ein Auftreten dieses Wort zu markieren, Hier ist mein Beispielcode ist:iOS Swift Änderung bestimmter Text Farbe innerhalb Label programmatisch
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
Need mit beiden Upper
und lower
Fällen zu unterstützen. Word The
kann mehrmals auftreten, müssen alle markieren.
dieses Tutorial Siehe: https://iosdevcenters.blogspot.com/2015/12/how-to-set-use-multiple-font-colors-in.html – Bhadresh
@Bhadresh Ich habe bereits dieses Blog verwiesen sie ändern Farbe basierend auf Bereich nicht basierend auf gegebenem Zeichen –
Mit [this question] alle Bereiche des jeweiligen Substrings abrufen (https://stackoverflow.com/questions/36865443/get-all-ranges-of-a-substring-in-a-string-in-swift) und iteriere durch sie. – the4kman