多个 UITableViewCell 中的多个数组 [关闭]

Posted

技术标签:

【中文标题】多个 UITableViewCell 中的多个数组 [关闭]【英文标题】:Multiple Arrays in Multiple UITableViewCell [closed] 【发布时间】:2012-12-26 06:15:29 【问题描述】:

我知道如何在UITableViewCell 中获取数组:

cell.textLabel.text=[NSString stringWithFormat:@"%@",array];

但是如何将不同的数组放在多个UITableViewCell

Like first cell: array.

secondcell:array1.

thirdcell: array2.

以及如何在每个单元格中制作多行, 应该是这样的:

A

B

C

D

UItableViewCell

【问题讨论】:

能否请您在否定标记后注明原因 那些不赞成投票的人,请确保您在离开前发表您的评论/理由,匿名投票对任何人都没有帮助! 你的要求是不是像测验..我的意思是问题和选项? 不!我只是使用 ABCD 来更好地理解 @pradeepj 查看符合您要求的简单流程的代码,如果您想在单元格中添加多行以及在单元格中添加一些控件,那么它非常简单,只需将其作为子视图添加到单元格并设置您想要的框架,然后只需设置单元格的高度即可.. :) 【参考方案1】:

您可以在不同的单元格中添加来自不同数组的值,如下所示.. 另外我在UITableCell 中添加控件只是一个示例,您可以通过框架在单元格中添加多个控件..

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
        
         static NSString* cellIdentifier = @"gridCell";

        UITableViewCell *yourCell = [tableView dequeueReusableCellWithIdentifier:nil];

        if(yourCell == nil)        
        
            yourCell =  [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] autorelease];

        

        if(indexPath.row == 0)        
        
          yourCell.textLabel.text=[NSString stringWithFormat:@"%@",array];
          UILabel *lbl = [[UILabel alloc]init];
          lbl.text = [NSString stringWithFormat:@"%@",array];
          lbl.font = [UIFont fontWithName:@"Helvetica-Bold" size:15];
          [lbl setFrame:CGRectMake(110, 5, 200, 31)];    /// Set Frame which you want for every controls...
          // you can also add UITextView,etc..
          [yourCell.contentView addSubview:lbl];

         UILabel *lbl2= [[UILabel alloc]init];
          [lbl2 setFrame:CGRectMake(110, 31, 200, 31)];        
          lbl2.text = [NSString stringWithFormat:@"%@",array1];
          lbl2.font = [UIFont fontWithName:@"Helvetica" size:12];

         lbl2.textColor = [UIColor darkGrayColor];

         [yourCell.contentView addSubview:lbl2];
        
        else if(indexPath.row == 1)        
        
          yourCell.textLabel.text=[NSString stringWithFormat:@"%@",array1];
          ///ADD also Controls here if you want to in this cell also...or every cell also then write and add subview outside from this if condition

        
        else if(indexPath.row == 2)        
        
          yourCell.textLabel.text=[NSString stringWithFormat:@"%@",array2];
        

        return yourCell;
    

如果您想在一个单元格中添加多行,则只需添加UILable 或任何其他控件并设置框架并添加为单元格的子视图,并使用以下方法设置单元格的高度...

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
 
    //height of table row
    return 80;///give the height to cell which you want here

【讨论】:

谢谢你的岩石!...同一个单元格中的多行怎么样!? @pradeepj 只需将控件作为子视图添加到单元格,例如 [Cell.contentView addSubview:yourLable];并将您想要的框架设置为您的标签,并使用我定义的方法 dude 设置原始的高度.. :) 多个子视图?我想要 谢谢老兄!!!! 很好的帮助 这是无意义的,没有理由的负面标记..***不应该考虑这个

以上是关于多个 UITableViewCell 中的多个数组 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

“自上而下” UITableView 中的 UITableViewCell 中的多个按钮

UITableViewCell 中的多个点击手势

UITableViewCell的XIB中的多个UIView

具有动态高度的 UITableViewCell 中的多个 UILabel

从多个部分 UITableView 中的 UITableViewCell 获取 IndexPath 以响应通知

在单个 UITableViewCell 中管理多个 UITextField