2014-10-22 5 views
-1

저는 iOS 개발에 익숙합니다. 문자열을 가져 와서 굵게 표시 할 수 없습니다.동적 NSString 텍스트를 굵게 텍스트로 만들려고합니다

미리 감사드립니다. 다음은 내 코드

- (void)viewDidLoad { 
[super viewDidLoad]; 

NSString *sentence = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%@%@%@%@", self.name, self.adjective, self.noun, self.verb]]; 

NSMutableAttributedString *finalSentence = [[NSMutableAttributedString alloc] initWithString:sentence]; 

NSRange nameRange = NSMakeRange(0, self.name.length); 
NSRange adjectiveRange = NSMakeRange(self.name.length, self.adjective.length); 
NSRange nounRange = NSMakeRange((self.adjective.length + self.name.length), self.noun.length); 
NSRange verbRange = NSMakeRange((self.adjective.length + self.name.length + self.noun.length), self.verb.length); 

[finalSentence beginEditing]; 

[finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldMT" size:17.0] range:nameRange]; 
[finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldMT" size:17.0] range:adjectiveRange]; 
[finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Helvetica-Bold" size:12.0] range:nounRange]; 
[finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Helvetica-Bold" size:12.0] range:verbRange]; 

[finalSentence endEditing]; 

NSString *completeSentence = [finalSentence string]; 

self.resultTextView.text = completeSentence; 

}

답변

0

그것은 별도의 NSAttributedString 클래스가 있다는 사고가 아니다이다. 속성이 지정된 문자열의 string 속성을 사용하여 검색하는 completeSentence은 일반 NSString이며 서식 정보를 포함하지 않습니다 (사용할 수 없기 때문).

속성보기 문자열 개체 자체는 텍스트보기의 attributedText 속성에 지정해야합니다.

0

사용자 지정 텍스트 ([finalSentence string])의 일반 텍스트 버전을 UITextView의 일반 텍스트 속성에 지정합니다.

당신은 UITextViewattributedText 속성에 직접 기인 텍스트를 설정해야합니다 - 그냥 여기

self.resultTextView.attributedText = finalSentence; 

전화

self.resultTextView.attributedText=finalSentence 
0

것은 당신이 필요로하는 코드

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    NSString *sentence = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%@%@%@%@", self.name, self.adjective, self.noun, self.verb]]; 

    NSMutableAttributedString *finalSentence = [[NSMutableAttributedString alloc] initWithString:sentence]; 

    NSRange nameRange = NSMakeRange(0, self.name.length); 
    NSRange adjectiveRange = NSMakeRange(self.name.length, self.adjective.length); 
    NSRange nounRange = NSMakeRange((self.adjective.length + self.name.length), self.noun.length); 
    NSRange verbRange = NSMakeRange((self.adjective.length + self.name.length + self.noun.length), self.verb.length); 

    [finalSentence beginEditing]; 

    [finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldMT" size:17.0] range:nameRange]; 
    [finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldMT" size:17.0] range:adjectiveRange]; 
    [finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Helvetica-Bold" size:12.0] range:nounRange]; 
    [finalSentence addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Helvetica-Bold" size:12.0] range:verbRange]; 

    [finalSentence endEditing]; 
    self.resultTextView.attributedText = finalSentence; 
} 
관련 문제