2017-10-29 2 views
-1

이 코드에 문제가 있으며 잘못된 것을 알지 못합니다. 놀이터에서 모든 것을 먼저 시도해 보니 매력처럼 작동합니다. 이것을 UILabel에 지정하면 작동하지 않습니다.NSMutableAttributedString이 ViewController에서 작동하지 않지만 놀이터에서 작동합니다.

let nameSurname = "\(postAddSetup.nameSurname.text!)" 
let checkIn = " - \(setLocationPlace), \(setLocationCity)" 

var string = postAddSetup.nameSurname.text 
string = "\(nameSurname) \(checkIn)" 

let boldUsername = NSMutableAttributedString(string: string!) 
boldUsername.addAttribute(NSFontAttributeName, value: UIFont.boldSystemFont(ofSize: 14), range: (string! as NSString).range(of: nameSurname)) 
let normalCheckIn = NSMutableAttributedString(string: string!) 
normalCheckIn.addAttribute(NSFontAttributeName, value: UIFont.systemFont(ofSize: 11), range: (string! as NSString).range(of: checkIn)) 
normalCheckIn.addAttribute(NSForegroundColorAttributeName, value: UIColor.darkGray, range: (string! as NSString).range(of: checkIn)) 
print(string!) 

postAddSetup.nameSurname.text = string! 

사실 저는 2 개의 문자열에서 텍스트를 가져 오는 레이블이 있습니다. 다른 색상과 글꼴로 표시하고자하는 문자열입니다. Playground에서는 작동하지만 ViewController에서는 작동하지 않습니다. 아무도 도와 줄 수 있니?

+0

가 분명 될 수도 있지만 당신이보기 컨트롤러에이 코드가 실행되어 있는지 확인입니까? –

+2

"작동하지 않음"을 정의하십시오. 그것은 쓸데없는 설명입니다. 게시 된 코드가 정확히 어떤 방식으로 작동하지 않습니까? 오류? 충돌? 예기치 않은 결과가 있습니까? [편집] 질문에 대한 구체적인 내용을 명확하게 나타내십시오. – rmaddy

+0

rmaddy - 전체 질문과 코드를 읽었다면 나는 초보자라는 것을 이해했을 것입니다. 그리고 누군가를 무례하게 여기기 위해이 웹 사이트에 오지 않았습니다. 아마 내가 옳은 말을하지 않았을 것입니다. 그러나 다음에 무례 할 경우 도움을받지 마십시오. –

답변

1

예제에서 동일한 원래 문자열에서 생성 된 두 개의 다른 특성 문자열이 있고 레이블 텍스트 속성에 특성없이 문자열을 전달하고 있습니다. 는 대신 고유 기인 문자열을 만들 수 있습니다 당신은 당신의 라벨의 attributedText 속성을 사용할 수 있습니다 :

var string = postAddSetup.nameSurname.text 
    string = "\(nameSurname) \(checkIn)" 

    let attributedString = NSMutableAttributedString(string: string!) 
    attributedString.addAttribute(NSFontAttributeName, value: UIFont.boldSystemFont(ofSize: 14), range: (string! as NSString).range(of: nameSurname)) 
    attributedString.addAttribute(NSFontAttributeName, value: UIFont.systemFont(ofSize: 11), range: (string! as NSString).range(of: checkIn)) 
    attributedString.addAttribute(NSForegroundColorAttributeName, value: UIColor.darkGray, range: (string! as NSString).range(of: checkIn)) 

    postAddSetup.nameSurname.attributedText = attributedString 
+0

당신은 Francesco가 그렇게 옳습니다. 감사합니다! 내가 attributedText를 사용할 때 처음이며, 무슨 일이 일어나고 있는지 알 수 있습니다. 고맙습니다! –

+0

당신은 오신 것을 환영합니다! 도와 드리겠습니다;) 그리고 귀하의 의견에 따라 더 나은 설명, 감사를 내 대답을 편집합니다! –

관련 문제