我有一个表格视图,其中我的单元格高度动态定义取决于它所代表的文本。自定义heightForRowAtIndexPath(CGSize sizeWithFont)与NSAttributedString iOS
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
//getting my text for this cell, the row etc ...
...
//here is the part interesting us
NSAttributedString* theText = [myTextForThisCell objectAtIndex:indexPath.row];
NSInteger labelWidth = self.tableView.bounds.size.width-HORIZONTAL_CELL_PADDING;
CGSize textSize = [theText sizeWithFont:[UIFont systemFontOfSize:customFontSize] constrainedToSize:CGSizeMake(labelWidth, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];
return textSize.height+VERTICAL_CELL_PADDING;
}
好吧,现在我的问题。 tableview是扫描plist文件后显示包含给定字符串的行的搜索操作的结果。
到现在为止就是这样。但是现在用iOS 6和NSAttributedString可以轻松地将字符串中的大部分加粗,因此我决定大胆地使用搜索词。
这是工作,它大胆的话我想,但现在我不能计算单元格的高度,因为sizeWithFont要求一个NSString。由于粗体宽度较宽,我不能简单地使用没有属性的字符串计算单元格高度。
我只是卡在这里。
任何人都可以帮到我吗?
只是因为iOS的6.0 –
是当然的,NSAttributedText不可用之前iOS6的 – HpTerm
太谢谢你了。你的回答帮了我很多! – Karun