Iphone 文本标签长度超过20个字符时调整UITableView字体的大小?

Iphone 文本标签长度超过20个字符时调整UITableView字体的大小?,iphone,objective-c,xcode,uitableview,Iphone,Objective C,Xcode,Uitableview,我想调整UITableView单元格的字体大小。 如果它们包含太长的标题,则textLabel将被拆分 例如,当标签长度超过20个字符时,如何调整字体大小? 我想: NSString *cellText = cell.textLabel.text; if (cellText.length > 20){ cellText = [UIFont systemFontOfSize:11.0]; } 但有点不对劲,因为它崩溃了 有什么想法吗?cellText是一个NSString,如果要将

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

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

NSString *cellText = cell.textLabel.text;
if (cellText.length > 20){
    cellText = [UIFont systemFontOfSize:11.0];
}
但有点不对劲,因为它崩溃了


有什么想法吗?

cellText
是一个
NSString
,如果要将
UIFont
指针设置为
NSString
指针,则应将字体设置为
textlab
,如下所示:

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

如果没有问题,请同时发布崩溃日志。

您不需要代码

在检查员中:

  • 设置字体大小
  • 设置最小字体大小
  • 然后检查“调整以适合”

我似乎找到了一种方法,与您的做法类似。但现在它显示的标签长度小于“20”字符,字体大小为:11。然后再添加一个else条件,并为此设置默认字体。:)如何返回文本标签的最大字符数(如最大10个)?
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];