有没有办法获得单元格的字幕长度(detailedTextLabel)?

时间:2011-10-22 09:05:25

标签: objective-c ios subtitle

如问题中所述,我想获取字幕的长度(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);
}

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

enter image description here

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

2 个答案:

答案 0 :(得分:1)

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

CGSize maxSize = CGSizeMake(9999,9999);

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

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

答案 1 :(得分:0)

请参阅NSString的{​​{1}}及相关方法。