2011-02-01 22 views
4

私はInterface BuilderでデザインするUITableViewとCellを持っています。 私はそこに2つのラベルを持っています。 問題は、ラベルの1つが500語または10語のテキストであることです。iPhone - >動的なセルの高さ

私は動的なセルの高さが必要です。そうでなければ空きスペースがあるか、セルの高さでは十分ではないので、これをどうすれば処理できますか?

おそらく誰かがこれを行う方法を知っていますか?

よろしくお願いいたします。

答えて

5

あなたのテキストのサイズを知って、あなたがこの方法を使用することができます。

- (CGFloat)measureTextHeight:(NSString*)text fontName:(NSString*)fontName fontSize:(CGFloat)fontSize constrainedToSize:(CGSize)constrainedToSize { 
CGSize mTempSize = [text sizeWithFont:[UIFont fontWithName:fontName size:fontSize] constrainedToSize:constrainedToSize lineBreakMode:UILineBreakModeWordWrap]; 
return mTempSize.height; } 

その後、あなたとあなたのサイズのセルを設定することができます:はい、それは明らかだが、どのように

-(CGFloat)tableView:(UITableVIew*)tableView heightForRowAtIndexPath(NSIndexPath *)indexPath; 
+0

うーん、それはすべての値を読み取ることはできませんUILabelフィールド?サイズを変更すると、ここでそれを変更する必要があり、 'constrainedToSize'は何故ですか? – Tim

+0

constrainedToSizeは、画面の幅(画面幅に合わない場合はUILabel)です。 –

+1

ああ、それはうまくいくようですが、どこでどのようにUILabelのサイズを変更できますか? – Tim

2
-(CGFloat)tableView:(UITableVIew*) tableView heightForRowAtIndexPath(NSIndexPath *) indexPath 
{ 
    //here u can check the row number and ur labels and return ur custom height. 
} 
+0

ラベルの高さを確認できますか? IBで40pxと定義しているので、これは固定サイズです。だから私がラベルの高さを求めるなら、私はいつも40pxになるでしょう。 – Tim

+0

良い質問...私は良いアイデアはありません...醜いものは、あなたは文字を数え、ウルのフォントに基づいて推測することができますその高さは何ですか:S – Ratinho

関連する問題