Как изменить UITextView последний введенный цвет текста в iPhone? - PullRequest
2 голосов
/ 09 февраля 2012

У меня есть 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 ]

0 голосов
/ 09 февраля 2012

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

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

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

0 голосов
/ 09 февраля 2012

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

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

...