[swift3.0] NSMutable Attributed String에서 텍스트 색상을 부분적으로 전환

5279 단어 SwiftiOS
글자 중간의 색을 바꾸고 싶은 경우.
var myString:NSString = "I AM KIRIT MODI"
var myMutableString = NSMutableAttributedString()
override func viewDidLoad() {

    myMutableString = NSMutableAttributedString(string: myString, attributes: [NSFontAttributeName:UIFont(name: "Georgia", size: 18.0)!])
    myMutableString.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(), range: NSRange(location:2,length:4))
    // set label Attribute
    labName.attributedText = myMutableString
    super.viewDidLoad()
}
다시 분할하고 싶을 때 조건을 추가하면 돼.
 myMutableString.addAttribute(NSForegroundColorAttributeName, value: UIColor.greenColor(), range: NSRange(location:10,length:5))
실제로 사용할 때 스스로 작은 조건을 바꾸었다.
var myMutableString = NSMutableAttributedString()
var myString = "文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章"
myMutableString = NSMutableAttributedString(string: myString, attributes: [NSFontAttributeName:UIFont.hiraginoSans(ofSize: 12)])
myMutableString.addAttribute(NSForegroundColorAttributeName, value: Color.gray, range: NSRange(location:7,length:9))
profileLabel.attributedText = myMutableString

스타일을 바꾸면 조건 부분을 바꿀 수 있다.

참고 자료

좋은 웹페이지 즐겨찾기