Как изменить 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;
Затем вы можете проверить отдельные слова, как указано в предыдущем ответе. Что касается цветного текста, я не уверен, но я думаю, что вы должны написать собственный класс, чтобы изменить цвет текста. Надеюсь, это поможет.