当textLabel长度超过20个字符时,调整UITableView字体的大小?

时间:2012-05-23 13:01:41

标签: iphone objective-c xcode uitableview

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

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

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

但是有一些错误,因为它会崩溃。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

cellTextNSString,您设置了UIFontNSString指针,您应该将Font设置为textLabel,如下所示:

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

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

答案 1 :(得分:0)

你不需要代码!

检查员

  • 设置字体大小
  • 设置最小字体大小
  • 然后检查“ajust to fit”

答案 2 :(得分: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];