Как изменить UITextView последний введенный цвет текста в iPhone?

У меня есть UITextView для ввода комментариев к фотографиям. Когда пользователь вводит свой текст в UITextView, последний введенный текст должен быть темно-серым, остальные тексты должны быть обычного цвета. Когда пользователь введет пробел, последнее введенное слово / текст должно измениться на черный (обычный) цвет.

UITextView text eg: iPhone is an apple product. Product should be in Dark gray color others in black color. Once user enter space the all entire words in black color.

Как я могу определить последнее введенное слово и как изменить цвет текста конкретного последнего введенного слова?

ИЗДАНО:

Я пытаюсь этот исходный код.

-(void) textViewDidChange:(UITextView *)textView
{
   NSArray *lastTextArray = [textView.text componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

   lastStringInTextView = [lastTextArray objectAtIndex:lastTextArray.count - 1];
   NSLog(@"LastText : %@", lastStringInTopTextView);

   textView.textColor = [UIColor orangeColor];
}

2 ответа

Решение

Я думаю, что вам нужно определить слушателя (из введенного вами текстового поля), и он будет искать символ пробела (значит ' ') в вашем тексте введите. Цвет и тип текста могут быть как-то похожи yourTextField.font=[UIFont boldSystemFontOfSize:24] до тех пор, пока слушатель не обнаружит пробел, и когда он обнаружит, пробел должен измениться на нормальный (и новая строка должна быть запущена, набрать как yourTextField.font=[UIFont boldSystemFontOfSize:24]...) Примечание: это может быть не совсем подход, чтобы начать отвечать, я думаю... но вы спросили любую идею. надеюсь, это поможет

РЕДАКТИРОВАТЬ: Это требует хорошего алгоритма, также используя блоки в том же методе, который будет делать эту работу. Алгоритм должен быть разработан для того, чтобы принимать любые ' ' символ как начало текстового поля.

Вы можете использовать эти методы делегата

- (void)textViewDidBeginEditing:(UITextView *)textView;
- (void)textViewDidEndEditing:(UITextView *)textView;

Затем вы можете проверить отдельные слова, как указано в предыдущем ответе. Что касается цветного текста, я не уверен, но я думаю, что вы должны написать собственный класс, чтобы изменить цвет текста. Надеюсь, это поможет.

Другие вопросы по тегам