2014-09-18 5 views
1

У меня есть поиск по любому конкретному слову типа «Бог». Я хочу изменить цвет текста конкретного текста, который должен быть изменен в другом цвете. Я пытаюсь выполнить поиск в google, но я обнаружил, что изменение цвета конкретного слова для определенного значения индекса от начала до конца слова Link, поэтому моя проблема не решена.Как изменить цвет определенного слова в ios

Пожалуйста, помогите мне и обновите мой код, чтобы изменить цвет текста конкретного текста. Это слово в поле, которое вы видите на изображении.

Благодаря

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:UYLCellIdentifier forIndexPath:indexPath]; 
    [self configureCell:cell forRowAtIndexPath:indexPath]; 
    return cell; 
} 

- (void)configureCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if ([cell isKindOfClass:[UYLTextCellSearch class]]) 
    { 
     UYLTextCellSearch *textCell = (UYLTextCellSearch *)cell; 

     DataBase *DBContentDetail = [_sourceData objectAtIndex:indexPath.row]; 

     textCell.lineLabel.text = [NSString stringWithFormat:@"%@",DBContentDetail.dbtext]; 
     [textCell.lineLabel sizeToFit]; 
    } 
} 

How to change the color of a specific word in ios

+0

Возможный дубликат [Можно изменить цвет одного слова в UITextView и UITextField] (http://stackoverflow.com/questions/14231879/is-it-possible-to -change-color-of-single-word-in-uitextview-and-uitextfield) –

ответ

9
NSString *text = @"In the begining God created heaven and earth. God is great."; 

NSMutableAttributedString *mutableAttributedString = [[NSMutableAttributedString alloc] initWithString:text]; 

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(God)" options:kNilOptions error:nil]; // Matches 'God' case SENSITIVE 

NSRange range = NSMakeRange(0 ,text.length); 

// Change all words that are equal to 'God' to red color in the attributed string 
[regex enumerateMatchesInString:text options:kNilOptions range:range usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) { 

    NSRange subStringRange = [result rangeAtIndex:0]; 
    [mutableAttributedString addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:subStringRange]; 
}]; 

textCell.lineLabel.attributedText = mutableAttributedString; 

Подробнее о NSAttributedString

+0

замечательный, он работает как шарм –

0

Да, вы можете изменить цвет конкретного слова, используя "Text Kit рамки", введенную в прошивке 7.

обратите внимание на заявление «В модели- парадигма view-controller, диспетчер компоновки - это контроллер. NSTextStorage, подкласс NSMutableAttributedString, предоставляет часть модели, содержащую строку текстовых символов с такими атрибутами, как шрифт, стиль, цвет, «документируется здесь: (https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/CustomTextProcessing/CustomTextProcessing.html)

, иначе вы можете посмотреть пример, приведенный в это видео (https://developer.apple.com/videos/wwdc/2013/#210) WWDC 2013.

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