如何管理单行中的多个标签但没有。表格视图中的单元格数量取决于 iPhone SDK 中的数组。

Posted

技术标签:

【中文标题】如何管理单行中的多个标签但没有。表格视图中的单元格数量取决于 iPhone SDK 中的数组。【英文标题】:How to manages multiple lable in single row but no. of cell in table view depends on array in iPhone SDK. 【发布时间】:2011-05-25 07:11:36 【问题描述】:

我想这样显示输出:

为此使用了两个部分。第一个用于标题,第二个用于显示数据,但在日期列中,日期是动态的,因为它取决于解析数据,这意味着没有行取决于该数组。

所以任何人都可以建议我,我如何将多个标签放在单行中,因为以下是我的代码:在 CellForRowAtIndexPath ()

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

    NSString *MyIdentifier = [NSString stringWithFormat:@"MyIdentifier %i", indexPath.row];

    MyTableCell *cell = (MyTableCell *)[tableView dequeueReusableCellWithIdentifier:MyIdentifier];

    if (cell == nil) 

    
        cell = [[[MyTableCell alloc] initWithFrame:CGRectZero reuseIdentifier:MyIdentifier] autorelease];
    


    for (UIView * view in cell.contentView.subviews) 
    
        [view removeFromSuperview];

    

    if (indexPath.section==0)
    
        [cell addColumn:130];

        label =[[[UILabel   alloc] initWithFrame:CGRectMake(0.0, 0, 64.0, 45)]  autorelease]; 

        //label.tag = LABEL_TAG; 
        label.font = [UIFont boldSystemFontOfSize:12]; 
        label.text = @"Date";//[NSString stringWithFormat:@"%d", indexPath.row];
        label.textAlignment = UITextAlignmentCenter; 
        label.textColor = [UIColor blackColor]; 
        label.backgroundColor=[UIColor brownColor];
        label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | 
        UIViewAutoresizingFlexibleHeight; 
        [cell.contentView addSubview:label]; 


        //[cell addColumn:200];
        label1 =[[UILabel   alloc] initWithFrame:CGRectMake(66, 0, 64.0, 45)] ; 


        //label1.tag = VALUE_TAG; 
        label1.font = [UIFont boldSystemFontOfSize:12]; 
        // add some silly value
        //label.text = [NSString stringWithFormat:@"%d", indexPath.row * 4];
        label1.text = @"Gold";
        label1.textAlignment = UITextAlignmentCenter; 
        label1.backgroundColor=[UIColor brownColor];
        [cell.contentView addSubview:label1];




        label2 =[[UILabel   alloc] initWithFrame:CGRectMake(132.0, 0, 64, 45)] ; 
        //[cell addColumn:260];
        label2.font = [UIFont boldSystemFontOfSize:12]; 
        label2.text = @"Silver";
        label2.textAlignment = UITextAlignmentCenter; 
        label2.backgroundColor=[UIColor brownColor];
        [cell.contentView addSubview:label2];




        label3 =[[UILabel   alloc] initWithFrame:CGRectMake(198.0, 0, 62, 45)] ; 
        //  [cell addColumn:350];
        label3.font = [UIFont boldSystemFontOfSize:12]; 
        label3.text =@"Bronze";
        label3.textAlignment = UITextAlignmentCenter; 
        label3.backgroundColor=[UIColor brownColor];
        [cell.contentView addSubview:label3];



        label4 =[[UILabel   alloc] initWithFrame:CGRectMake(262.0, 0, 61, 45)] ; 
        //  [cell addColumn:350];
        label4.font = [UIFont boldSystemFontOfSize:12]; 
        label4.text =@"Avg Conf";
        label4.textAlignment = UITextAlignmentCenter; 
        label4.backgroundColor=[UIColor brownColor];
        [cell.contentView addSubview:label4];



    

    else  
    label5 = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0, 64.0, 150)]; 
    label5.font = [UIFont boldSystemFontOfSize:12]; 
    label5.numberOfLines=4;
     label5.text = [arr objectAtIndex:indexPath.row];
    label5.textAlignment = UITextAlignmentLeft; 
    label5.textColor = [UIColor blackColor]; 
    label5.backgroundColor=[UIColor grayColor];
    [cell.contentView addSubview:label5];
    
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    return cell;
  

输出将根据第二张图片显示]1

【问题讨论】:

只有日期是动态的,或者其他标签也是动态的... MyTableCell 是如何定义的? @spypriyanka 你有这个问题的解决方案吗? 【参考方案1】:

最好的方法是创建 CustomTableViewCell。 在 nib 文件中可以轻松绘制所需的输出单元格的位置。(超过 1 个标签,添加图像等)。

From here you can take the sample.

为您的示例创建更多自定义单元格,1 个用于标题,1 个用于显示所有数据。你的数据是 NSArray 的 NSArray。

【讨论】:

以上是关于如何管理单行中的多个标签但没有。表格视图中的单元格数量取决于 iPhone SDK 中的数组。的主要内容,如果未能解决你的问题,请参考以下文章

如何使用自动布局来调整表格视图单元格中的视图?

使用自动布局表格视图时如何增加表格视图单元格中的标签高度(取决于文本)?

如何从具有多个数组的字典中获取特定键并存储到放置在表格视图单元格中的字符串中

表格视图单元格中的自增长标签

如何使用自动布局来调整表格视图单元格中的视图大小?

触摸表格视图中的单元格后标签栏消失