0

如问题中所述,我想获取字幕(topic.context)的长度并使用它来做出某些决定(请参阅下面的代码片段)

cell.detailTextLabel.text = topic.context;
NSString *fanLabelText = [NSString stringWithFormat:@"%i fans",topic.num_fans];

if (topic.context && ![topic.context isEqual:[NSNull null]] && topic.context.length > 46)
{
    thisFanLabel.frame = CGRectMake(320 - 150, -10, 100, 44);
}
else
{
    thisFanLabel.frame = CGRectMake(320 - 150, 0, 100, 44);
}

基本上,我想知道什么时候字幕会达到一定的长度,这样我就可以调整粉丝标签向上移动(如下图所示)。目前粉丝标签与字幕重叠,我希望在发生这种情况时能够将标签向上移动。

在此处输入图像描述

那么获得准确的字幕长度的最佳方法是什么?

4

2 回答 2

1

您可以使用以下行检查具有特定字体的字符串的大小:

CGSize maxSize = CGSizeMake(9999,9999);

UILabel *myLabel = cell.detailTextLabel;
CGSize sizeOfString = [myLabel.text sizeWithFont:myLabel.font 
                        constrainedToSize:maxSize 
                        lineBreakMode:myLabel.lineBreakMode]; 

在“sizeOfString”中,您现在应该拥有您的 detailLabel 的大小。

于 2011-10-22T10:16:08.277 回答
0

参见NSString's-sizeWithFont:和相关方法。

于 2011-10-22T10:15:36.713 回答