как изменить цвет шрифта специальных символов в тексте UITextview

я использую этот код, чтобы показать текст в UITextview... в методе ViewDidLoad

self.fontSize = 23.0;
  for(NSUInteger idx = 0; idx < [delegatee.allSelectedVerseEnglish count]; idx++) {
        [combined appendFormat:@"  %d %@", 
         idx + 1, 
         [delegatee.allSelectedVerseEnglish objectAtIndex:idx]];

    };

    maintextview.text =combined;
    maintextview.textColor= [UIColor colorWithRed:0.376f green:0.282f blue:0.173f alpha:1.0f];

    maintextview.font = [UIFont fontWithName:@"Georgia" size:self.fontSize];

combined имеет текст, который также включает числовой символ, как я могу идентифицировать числовой символ, покрасить его в коричневый цвет и изменить шрифт на Georgia-Bold только для числовых символов. Возможно ли это с помощью выражения NSsanner или NSregular или чего-то подобного? как это сделать? Заранее спасибо.


person stackiphone    schedule 22.05.2012    source источник


Ответы (2)


Вы не можете сделать это в обычном текстовом представлении. Он не позволяет форматировать (хотя многие разработчики очень хотят эту функцию). Что вам нужно сделать, так это использовать основной текст и NSAttributedString с пользовательским представлением. Однако это очень сложно, если вам нужно использовать выделение или сделать его редактируемым.

person borrrden    schedule 22.05.2012
comment
stackoverflow.com/questions/1320295/ это помощь для меня? - person stackiphone; 22.05.2012
comment
Это будет работать только с всем содержимым текстового представления. - person borrrden; 22.05.2012
comment
} NSNumberFormatter * f = [[NSNumberFormatter alloc] init]; NSNumber * n = [f numberFromString: комбинированный]; NSLog(@N: %@, n); я вставляю этот код, но получаю нулевое значение - person stackiphone; 22.05.2012
comment
Я думаю, что неправильно понял ваш вопрос... вы имеете в виду, что хотите проверить, является ли вся строка числовой? - person borrrden; 22.05.2012
comment
так что нет способа отделить числовое значение от строки в тексте? - person stackiphone; 22.05.2012
comment
нет, я просто хочу получить числовое значение из моего текста и поставить условие для текстового просмотра, если его числовое значение мне нужно textview.textcolor = [uicolor red color]; если это строка (не числовая), я хочу, чтобы текстолор был зеленым - person stackiphone; 22.05.2012
comment
То есть вы имеете в виду красный и зеленый текст в одном и том же UITextView одновременно? Это невозможно. - person borrrden; 22.05.2012
comment
давайте продолжим это обсуждение в чате - person stackiphone; 22.05.2012

альтернативный вариант - создать HTML-страницу и поместить веб-просмотр вместо TextView.

это экономит ваше время.

person Prabhat Kasera    schedule 22.05.2012