2016-10-01 15 views
6

안녕하세요 스위프트 3에서 addAttribute을 사용하려고합니다.스위프트에서 addAttribute 및 NSRANGE를 사용하는 방법 3

IDNAME 만 굵게 설정하고 싶습니다.

내가 여기에 무엇을하려고합니다.

let boldUsername = NSMutableAttributedString(string: "IDNAME hi nice 2 meet you :D #HELLOW") 


//   boldUsername.addAttribute(NSFontAttributeName, value: UIFont(name: "SFUIText-Bold", size: 14)!, range: (boldUsername.string as NSString).range(of: " ")) 

      boldUsername.addAttribute(NSFontAttributeName, value: UIFont(name: "SFUIText-Bold", size: 14)!, range: NSRange(location: 0, length: 5)) 

언제나 IDNAME의 색인을 어떻게 가져 옵니까?

-> 공간을 분할하고 색인을 얻는 방법이 있습니까?

+1

"어떻게 문자열 수를 얻을 수 있습니까?"라는 것은 무엇을 의미합니까? –

+0

[this] (http://stackoverflow.com/a/32229033/6541007)을 확인하셨습니까? – OOPer

+0

@NiravD 문자열 색인을 가져오고 싶습니다. 예> "IDNAME hi ~~~"나는 색인 0입니다. E는 색인 5입니다. 어떻게 ID 색인의 끝을 얻습니까? 답장을 보내 주셔서 감사합니다 –

답변

18

이와 같이해야합니다.

let personName = "Black" 
let wholeStr = "\(personName) hi nice 2 meet you :D #HELLOW" 
let boldUsername = NSMutableAttributedString(string: wholeStr) 
boldUsername.addAttribute(NSFontAttributeName, value: UIFont(name: "SFUIText-Bold", size: 14)!, range: (wholeStr as NSString).range(of: personName)) 
+0

코드를 테스트했습니다. 그것은 완벽하게 작동합니다! 정말 고마워요. D –

+1

매우 이해하기 쉽습니다. 좋은 대답 – Vats

+0

@Vats 환영 & 고마워요 :) –