在TableView中的任何索引处使用自定义Cell插入一行

时间:2013-04-24 04:01:27

标签: ios tableview

我是iOS上的新手。我尝试了更多的时间来搜索,但结果不是我的愿望。第一个,我有自定义单元格的5行。单元格仅包含文本,我想在包含一个图像的单元格的任何索引处添加一行。那么我们如何实现呢?

3 个答案:

答案 0 :(得分:7)

从评论中我了解到你是UITableView的新手。所以请仔细阅读一些给定的教程。您将能够在UITableView

中添加,删除编辑单元格

UITableView tutorial
tutorial 2
Table view programming guide

对于简单插入,请执行此操作

向视图添加按钮及其操作

 -(IBAction)addNewRow:(UIButton *)sender
 {
  self.numberOfRows++;  // update the data source    
  NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
   [self.tableview insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];

 }

修改

我认为你需要这样的东西

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *cellID1=@"CellOne";
NSString *cellID2=@"CellTwo";

UITableViewCell *cell = nil;

if (0 == indexPath.row) {

    cell =[tableView dequeueReusableCellWithIdentifier:cellID1];
    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID1];
    }
    cell.textLabel.text = @"New Cell";

}

else
{
    cell =[tableView dequeueReusableCellWithIdentifier:cellID2];
    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID2];
    }
    cell.imageView.image = [UIImage imageNamed:@"Test.jpg"];
}

return cell;
}

不要忘记递增细胞计数,即现在从numberOfRows返回6。

答案 1 :(得分:1)

您可以从视图控制器中的任何位置向表中插入行

[tableView beginUpdates];
[tableView insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation];
[tableView endUpdates];

给出正确的indexPaths和行动画。

答案 2 :(得分:0)

tableView:cellForRowAtIndexPath:方法中,区分您希望单元格与图像的索引路径并将其添加到那里,否则只设置UITableViewCell的文本。