2015-06-09 1 views
5

У меня есть табличный вид, в котором ячейки имеют метку с некоторым атрибутом текста. Текст устанавливается правильно с cellForRowAtIndexPath. Цвет текста правильно установлен, но жирный атрибут не отображается до тех пор, пока ячейка не будет удалена.Атрибутированная строка в tableviewcell не отображается жирным шрифтом до тех пор, пока ячейка не будет удалена и перезагружена.

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
     MyCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier]; 
     Model *model = [self.fetchedResultsController objectAtIndexPath:indexPath]; 
     cell.tag = indexPath.row; 
     [cell updateContentWithModel:model atIndexPath:indexPath]; 
     return cell; 
} 


- (void)updateContentWithModel:(Model *)model atIndexPath:(NSIndexPath *)indexPath 
{ 
self.model = model; 
[self setTextFromModel]; 
[self setImageFromModelAtIndexPath:indexPath]; 
} 

- (void) setTextFromModel 
{ 
self.title.text = self.model.header; 
self.status.attributedText = [self boldString:self.model.status fontSize:self.status.font.pointSize color:[UIColor redColor]]; 
} 

+(NSMutableAttributedString *)boldString:(NSString *)stringToBold fontSize:(CGFloat)fontSize color:(UIColor *)color 
{ 
NSMutableAttributedString *boldString = [[NSMutableAttributedString alloc] initWithString:stringToBold]; 
[boldString setAttributes:@{NSForegroundColorAttributeName: color, 
          NSFontAttributeName:[UIFont boldSystemFontOfSize:fontSize]} range:NSMakeRange(0, boldString.length)]; 
return boldString; 
} 

Неужели кто-нибудь испытывает нечто подобное раньше?

+0

Вы называете 'setNeedsDisplay'? –

+0

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

+0

Нужно установить setNeedsDisplay? Я не использую drawRect для чего-либо, и метки обновляются автоматически при обновлении текста. Моя проблема заключается в том, что метка обновляется до атрибутивного текста, но смелый атрибут, кажется, отсутствует/потерян, пока ячейка не была удалена. – Cen92

ответ

1

У меня такая же проблема из-за UIAppearance. Установите font \ color в ноль, прежде чем устанавливать для меня атрибут UILabel.

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