常规/组UITableViewCell中的字符数

时间:2013-01-17 19:22:03

标签: iphone ios cocoa-touch uitableview

在常规和组表视图中,是否有任何标准方法可以知道UITableViewCell可以在一行(不包装)中占用的字符数?基本上是一些带有文本字体大小和字符数的图表。

2 个答案:

答案 0 :(得分:2)

UITableViewCell中没有字符这样的东西。您可能关注的是UITableViewCell中某些接口对象中的字符 - 例如,它可能是UILabel。细胞 - 至少,你提出问题的方式 - 是无关紧要的。

如果是这种情况,您可以使用标签的功能来了解给定的文本是否会换行。如果您使用的是普通的NSString,请查看NSString UIKit Additions Reference中的字符串绘制方法。如果您使用的是NSAttributedString,请查看NSAttributedString UIKit Additions Reference中的绘图方法。提供的方法告诉您给定字符串将占用多少空间,使用给定的换行符选项,在约束到给定宽度时使用给定的换行符 - 您可以从标签中获取所有信息。您可以保证标签使用相同的字符串绘制方法,因此您获得的结果将是正确的。

答案 1 :(得分:1)

除非字体是固定宽度,否则不能只使用字符数和文本大小。

您需要显示字符串并使用以下内容询问其大小:

NSString *stringToCheck = @"...";
CGSize size = [stringToCheck sizeWithFont:[UIFont systemFontOfSize:[UIFont systemFontSize]]];

// Check the table view cell size available
CGSize cellSize = cell.contentView.bounds.size;