-1

我想调整我的 UITableView 单元格的字体。如果它们包含太长的标题,则 textLabel 会被拆分。

那么,例如,当标签长度超过 20 个字符时,如何调整字体大小?我想:

NSString *cellText = cell.textLabel.text;
if (cellText.length > 20){
    cellText = [UIFont systemFontOfSize:11.0];
}

但是有问题,因为它崩溃了。

有任何想法吗?

4

3 回答 3

1

cellText是 anNSString并且您将 a 设置UIFontNSString指针,您应该将 Font 设置为textLabel,如下所示:

NSString *cellText = cell.textLabel.text;
if (cellText.length > 20){
    cell.textLabel.font = [UIFont systemFontOfSize:11.0];
}

如果不是问题,请同时发布崩溃日志。

于 2012-05-23T13:08:55.367 回答
0
NSString *cellText = cell.textLabel.text;    

UILabel *cellLabel = [[UILabel alloc] initWithFrame:CGRectMake(5, 2, 300, 20)];
cellLabel.text =cellText;
cellLabel.adjustsFontSizeToFitWidth = NO;
cellLabel.numberOfLines = 0;
[cellLabel setBackgroundColor:[UIColor clearColor]];
[cellLabel setFont:[UIFont fontWithName:@"Arial" size:14.0f]];
cellLabel.textAlignment = UITextAlignmentLeft;       
[cell.contentView addSubview:cellLabel];
[cellLabel release];
于 2012-05-23T13:44:50.753 回答
0

你不需要这个代码!

在检查员中:

  • 设置字体大小
  • 设置最小字体大小
  • 然后检查“适合”
于 2012-05-23T13:12:55.417 回答