2011-06-23 126 views
2

我在我的Tableview單元格中添加了多個標籤。我顯示Facebook消息和發件人姓名和photos.For一些帖子可能是消息不可用或照片不可用..我檢查空條件,如果沒有值目前我沒有創建該特定單元格的標籤.. 。現在有些標籤有大字符串,有些可能很小..我對單元格的高度感到困惑,我可以在例如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]; 

    } 

請幫助

+0

我無法得到您的問題...:P – rptwsthi

+0

我想計算所有標籤的高度以及它們的高度總和應該是預期高度表 – iProgrammer

+0

表可以是動態高度嗎? – rptwsthi

回答

0

我覺得它能夠更好地去的UITextView每當處理動態內容。

+0

我只想顯示發件人姓名,消息,鏈接......這一切都是個人的 – iProgrammer

+0

只用於留言保持UITextField。休息UILabel將完成這項工作。對於名稱標籤一行,對於鏈接標籤2行,對於消息keep uitextview。添加所有這些默認值並將其返回給委託。 –

+0

但是標籤的寬度可能不同。在這種情況下,我的一些文字將會錯過。我已經完成了一個標籤,但困惑了大約2個或更多 – iProgrammer

0

您應該將顯示的標籤存儲在作爲單元屬性的NSMutableArray中。通過這種方式,您可以簡單地通過使用:

for (UILabel *tmpLabel in yourLabelArray){ 
    // do: add height to sum 
} 

這將爲您節省每個標籤的if(labelExists)。

祝你好運!

相關問題