将新的自定义单元格添加到UITabelView的顶部

时间:2015-07-24 04:30:37

标签: ios iphone uitableview

我尝试了更多时间进行搜索,但结果并不是我的愿望。我有一个带自定义单元格的UITableView。并且有一个按钮可以向该UITableView添加新单元格。我可以添加新单元格,但它会添加到tableview的底部。原因是,我无法感觉是否添加了单元格。所以我需要在tableview的顶部添加单元格。请帮助我。enter image description here

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return self.firstArray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    documentsRemarksTableCell *cell=[tableView dequeueReusableCellWithIdentifier:@"cell"];
    if (cell==nil) {
        NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"documentsRemarksTableCell" owner:self options:nil];
        cell=[nib objectAtIndex:0];
    }
    cell.remarksLabel.text=[self.firstArray objectAtIndex:indexPath.row];
    return cell;
}
-(IBAction)addnewRemarks:(id)sender
{
    [self.firstArray addObject:@""];
    NSInteger row = [self.firstArray count]-1;
    NSInteger section = 0;
    NSIndexPath *myindexpath = [NSIndexPath indexPathForRow:row inSection:section];
    // [selectedarray addObject:myindexpath];
    [self.firstTableView beginUpdates];

    [self.firstTableView insertRowsAtIndexPaths:@[myindexpath] withRowAnimation:UITableViewRowAnimationTop];
    [self.firstTableView endUpdates];
}

1 个答案:

答案 0 :(得分:2)

而不是[self.firstArray addObject:@""];使用

[self.firstArray insertObject:@"" atIndex:0];

并在addnewRemarks:动作集

NSInteger row = 0; 

在表格顶部显示新行。

所以最终addnewRemarks方法将是

-(IBAction)addnewRemarks:(id)sender
{
    NSInteger row = 0;
    NSInteger section = 0;
    [self.firstArray insertObject:@"" atIndex:row];
    NSIndexPath *myindexpath = [NSIndexPath indexPathForRow:row inSection:section];
    // [selectedarray addObject:myindexpath];
    [self.firstTableView beginUpdates];

    [self.firstTableView insertRowsAtIndexPaths:@[myindexpath] withRowAnimation:UITableViewRowAnimationTop];
    [self.firstTableView endUpdates];
}
代码NSInteger row = [self.firstArray count]-1;中的

表示新项目将在最后一个索引处添加。