2011-06-23 11 views
2

My Tableviewセルに複数のラベルを追加しました。私はFacebookのメッセージと送信者の名前と写真を表示しています。いくつかの投稿のために、メッセージが利用できないか、写真が利用できない可能性があります..ヌル状態をチェックして、値が存在しない場合はその特定のセルのラベルを作成していません。私はセルの高さと混同しています。例えば、dynamic heightのように1ラベルの動的な高さを得ることができますが、ラベルのテキストの数に応じて高さを管理するにはどうすればいいですか? ..私のコードは複数のラベルとカスタム高さのUItableviewcell

if ([(Facebook *)[tableArray objectAtIndex:indexPath.row]sender]!= nil) { 
    labelSender = [[UILabel alloc]initWithFrame:CGRectMake(image_view.frame.size.width+20, 20, 120, 20) ]; 



    labelSender.text = [NSString stringWithFormat:@"%@",[(Facebook *)[tableArray objectAtIndex:indexPath.row]sender]]; 

    [labelSender setLineBreakMode:UILineBreakModeWordWrap]; 

    [labelSender setNumberOfLines:0]; 

    labelSender.textColor = [UIColor colorWithRed:59/255.0 green:89/255.0 blue:153/255.0 alpha:1.0]; 

    labelSender.font = [UIFont fontWithName:@"Arial" size:15.0]; 

    [cell.contentView addSubview:labelSender]; 


    [labelSender release]; 

    } 


if ([(Facebook *)[tableArray objectAtIndex:indexPath.row]post]!= nil) { 


     NSLog(@"post is ==%@",[(Facebook *)[tableArray objectAtIndex:indexPath.row]post]); 

     labelMessage = [[UILabel alloc]initWithFrame:CGRectMake(image_view.frame.size.width+20, labelSender.frame.size.height + 20, 200, 20)]; 

     labelMessage.text = [NSString stringWithFormat:@"%@",[(Facebook *)[tableArray objectAtIndex:indexPath.row]post]]; 

     [labelMessage setLineBreakMode:UILineBreakModeWordWrap]; 

     [labelMessage setNumberOfLines:0]; 

     labelMessage.backgroundColor = [UIColor yellowColor]; 

     labelMessage.font = [UIFont fontWithName:@"Arial" size:13.0]; 

     [cell.contentView addSubview:labelMessage]; 

     [labelMessage release]; 

    } 

ようなもので、私は動的なコンテンツを取り扱う際は、必ずUITextViewのために行くために、その良い感じ

+0

私はあなたの質問を得ることができません...:P – rptwsthi

+0

私はすべてのラベルの高さを計算したいと考えて、それらの高さの合計はテーブルの高さが予想されるでしょう – iProgrammer

+0

テーブルは動的高さですか? – rptwsthi

答えて

0

を助けてください。

+0

送信者の名前、メッセージ、リンクのみを表示します。これはすべて個別です – iProgrammer

+0

メッセージの場合のみUITextFieldを保持します。休息のためにUILabelは仕事をします。名前ラベルは1行、リンクラベルは2行、メッセージはuitextviewを保持します。これらのすべての既定値を追加し、それを代理人に返します。 –

+0

しかし、ラベルの幅が違う可能性があります。その場合、私のテキストの一部が見逃されます。私は1つのラベルを使っていますが、2つ以上のラベルを混同しています – iProgrammer

0

表示されたラベルは、セルのプロパティであるNSMutableArrayに保存する必要があります。そうすれば、すべてのラベルに対してif(labelExists)を保存することができます。

これにより、すべてのラベルに対してif(labelExists)が保存されます。

幸運を祈る!

関連する問題