我尝试了更多时间进行搜索,但结果并不是我的愿望。我有一个带自定义单元格的UITableView。并且有一个按钮可以向该UITableView添加新单元格。我可以添加新单元格,但它会添加到tableview的底部。原因是,我无法感觉是否添加了单元格。所以我需要在tableview的顶部添加单元格。请帮助我。
- (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];
}
答案 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;
中的表示新项目将在最后一个索引处添加。