2015-06-09 39 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,我有同樣的問題。在設置UILabel屬性文本之前,將字體\顏色設置爲零。

相關問題