2015-03-04 2 views
2

У меня есть текст типа «Hello There», который будет приписываемой строкой красного цвета. Затем в конце этой атрибутной строки я хочу добавить nsstring «Кто вы?» Но всякий раз, когда я добавляю nsstring, вся строка становится нормальной nsstring и свойство присваиваемой строки удаляется. Моя попытка:Добавить nsstring в конце атрибутной строки в текстовом виде iOS

NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:@"Hello There"]; 
[attributeString addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,[attributeString length])]; 

NSMutableAttributedString *previousAttrString = [[NSMutableAttributedString alloc] initWithString:messageTextView.text]; 

[previousAttrString insertAttributedString: attributeString atIndex:location]; 
messageTextView.attributedText = previousAttrString; 
messageTextView.font = [UIFont fontWithName:@"Helvetica" size:15]; 

NSString *messageWithContact = [NSString stringWithFormat: @"%@ %@", messageTextView.text, @"Who are you?"]; 
messageTextView.text=messageWithContact; 

Что я сделал не так? Пожалуйста, помогите мне.

ответ

6

Заменить нижние строки

NSString *messageWithContact = [NSString stringWithFormat: @"%@ %@", messageTextView.text, @"Who are you?"]; 
messageTextView.text=messageWithContact; 

с

NSMutableAttributedString *newString = messageTextView.attibutedText; 
[newString appendAttributedString: [[NSAttributedString alloc] initWithString: @"Who are you?"]; 
messageTextView.attibutedText = newString; 
+1

Edited первой строке должно быть: 'NSMutableAttributedString * NewString = [[NSMutableAttributedString Alloc] initWithAttributedString: messageTextView.attributedText];' – Poles

Смежные вопросы