一个表视图,一个部分,树自定义单元格(可能重复)

时间:2015-02-26 17:10:08

标签: ios objective-c uitableview custom-cell

可能重复:enter link description here

我有3个带Xib的自定义单元格(customCell1,customCell2,customCell3),我需要将它们全部设置在一个部分中(我之前已经将它与3个部分相比没有任何问题)。

customCell 1 :是一个静态单元格(图像)

customCell 3 :也是一个静态单元格(带按钮的UITextView)

customCell 2 :必须是动态的(它包含一个MutableArray),它在不同的情况下可能有不同的值......

我的问题是:1:考虑到具有不同行的第二个单元格,我该如何返回:  - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 我的第一行必须是(customCell 1 ),我的最后一行必须是(customCell 3 ),行之间必须是(customCell 2 )?

2:在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath中如何分隔这些自定义单元格并在自己的indexPath中调用它们?

1 个答案:

答案 0 :(得分:0)

如果你的第一个单元格必须始终是customCell1而你的最后一个必须始终是customCell3,它们都是静态的,你只需要1个部分,为什么不只是使用tableView页眉和页脚?

检查IndexPath.row的示例:

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

    if(indexPath.row == 0){

        FirstCell *firstCell = (FirstCell *)[tableView dequeueReusableCellWithIdentifier:"TopCell"];

        //do your changes to the cell here

        return firstCell;

    }else if(indexPath.row == dataArray.count-1){

        LastCell *lastCell = (LastCell *)[tableView dequeueReusableCellWithIdentifier:"LastCell"];

        //do your changes to the cell here

        return lastCell;

    }

    NormalCell *normalCell = (NormalCell *)[tableView dequeueReusableCellWithIdentifier:"normalCell"];

    //do your changes to the cell here
    //For example
    cell.titleLabel.text = dataArray[indexPath.row].valueForKey("title"); 

    return normalCell;

}