2016-11-16 1 views
0

テキストが割り当てられるときに自動的に行数を設定する、Tableviewセルでautolayoutを使用してUILableを1つ作成します。autolayoutを使用して作成したときにUILableの行数を取得する方法

しかし、どのように私は行数がLable

にそこにあるものを見つけることができます

lblDesc.text = [自己strClearTextMessage:[distSmartcategoryDe​​til objectForKey:@ "説明"]];

CGRect textRect = [lblDesc.text boundingRectWithSize:CGSizeMake(292 * screenScal、9999) オプション:NSStringDrawingUsesLineFragmentOrigin 属性:{:lblDesc.font NSFontAttributeName} 文脈:@ゼロ]。

CGSizeサイズ= textRect.size;

int numberOfLines = size.height/12.0 * screenScal; NSLog(@ "numberOfLines%d"、numberOfLines);

私は上記のようなコードの多くの行を試してみたが、これを試してみてくださいライン

+0

ラベルの幅は固定されていますか?つまり、292 – Mahesh

答えて

0

の完全数を取得することができません:

[label setNumberOfLines:0]; 
[label setLineBreakMode:NSLineBreakByWordWrapping]; 
[label sizeToFit]; 
float numLines = label.frame.size.height/label.font.lineHeight; 
NSLog(@"numLines %f", numLines); 
0

はあなた私は完璧なラインを取得し、あなたのすべての

ありがとうございましたceil関数を使用します。

int numberOfLines = ceil(textRect.size.height/lblDesc.font.lineHeight);

+0

テキストに絵文字が含まれていると失敗します。 – OlDor

+0

@OlDorそれでは、どのようにすればthisを達成できますか?制約付きのデザイン(autolayout)のUILableの行数を取得するのに役立ちます。 – chetu

関連する問題