2013-12-13 4 views
0

사용자가 텍스트를 입력하는 UITextView가 있습니다. 입력 된 텍스트에 단어가 파란색으로 표시되는 #hash 태그가 포함되도록 몇 가지 코드를 추가했습니다. 그것은 최대한 빨리 텍스트 입력을 시작으로 잘 작동하지만 iOS6의에 iOS7에에UITextView의 세로 텍스트는 속성이 지정된 텍스트

- (void)textViewDidChange:(UITextView *)textView 
{ 
    //Coloring of hashtags 
    NSArray *words = [textView.text componentsSeparatedByString:@" "]; 

    NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:textView.text]; 

    for (NSString *word in words) 
    { 
     if ([word hasPrefix:@"#"]) 
     { 
      NSRange matchRange = [textView.text rangeOfString:word]; 
      [attrString addAttribute:NSForegroundColorAttributeName value:[AppereanceConfiguration defaultTintColor] range:matchRange]; 
     } 
    } 
    textView.attributedText = attrString; 
} 

수직으로 추락 시작 : 여기에 코드입니다. 예를 들면 : "Test"라는 단어를 입력하고 싶다면 - "T"를 누르면 괜찮아 보이지만 "e"를 누르면 새 줄에 "T"가 나타납니다. 다음 문자는 모두 이전 문자 아래에 나타납니다.

어떻게 수정합니까?

답변

0

이 시도 :

- (void)textViewDidChange:(UITextView *)textView { 

[textView setTypingAttributes:{@NSForegroundColorAttributeName:[AppereanceConfiguration defaultTintColor]}]; 
} 

조건을 추가 할 때마다 NSMutableAttributedString를 만들 필요가 없습니다.