如问题中所述,我想获取字幕的长度(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);
}
基本上,我想知道字幕何时达到一定长度,以便我可以调整风扇标签向上移动(如下图所示)。目前,粉丝标签与副标题重叠,我希望能够在发生这种情况时将标签向上移动。
那么获得字幕准确长度的最佳方法是什么?
答案 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}}及相关方法。