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-sizeWithFont:

于 2011-10-22T10:15:36.713 に答える