坦率地说,我知道如何在没有reloadData的情况下插入表的新自定义行结束但现在我想知道如何在reloadData时插入UITable的新自定义行结束。
这是我在reloadData中插入新自定义行的代码。但是新的插入行出现在表格的顶部,这不是我想要的。
CoachPadItem *newCoachPadItem = [[CoachPadItem alloc]init];
newCoachPadItem.coachpadDescription = textView.text;
newCoachPadItem.coachpadTagId = @"0";
[_tagPointsArray addObject:newCoachPadItem];
[_coachpadTableView reloadData];
的cellForRowAtIndexPath
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// Configure the cell...
CoachPadPointCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CoachPadPointCell" forIndexPath:indexPath];
if (cell == nil) {
cell = [[CoachPadPointCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CoachPadPointCell"];
}
counter += 1;
cell.tagBtn.hidden = YES;
cell.btnRemove.hidden = YES;
cell.tagBtn.userInteractionEnabled = canEdit;
[cell.tagBtn addTarget:self action:@selector(removeTag:) forControlEvents:UIControlEventTouchUpInside];
[cell.btnRemove addTarget:self action:@selector(removePad:) forControlEvents:UIControlEventTouchUpInside];
cell.btnRemove.tag = counter;
cell.txtPoint.delegate = self;
cell.txtPoint.tag = counter;
cell.txtPoint.textContainer.maximumNumberOfLines = 2;
cell.tagBtn.tag = counter;
cell.txtPoint.textAlignment = NSTextAlignmentLeft;
cell.txtPoint.backgroundColor = [UIColor clearColor];
cell.txtPoint.userInteractionEnabled = canEdit;
cell.backgroundColor = [UIColor clearColor];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
CoachPadItem *curr = _tagPointsArray[indexPath.row];
cell.txtPoint.text = cure.MyDesc;
return cell;
}
请帮助我如何在UITable末尾添加新行?
答案 0 :(得分:2)
我不确定发生了什么。
但是,如果[_tagPointsArray addObject:newCoachPadItem];
导致新插入的行出现在表格的顶部,这不是我想要的,您可以尝试:
[_tagPointsArray insertObject: newCoachPadItem atIndex:0];
答案 1 :(得分:1)
相信您在_tagPointsArray
方法中使用cellForRowAtIndexPath
,iOS会自动处理新的行插入,因为我可以看到您在_tagPointsArray
之前更新了模型reloadData
打电话给你的桌子视图。
向下滚动即可看到!
编辑: OP编辑帖子后
检查以下两行:
CoachPadItem *curr = _tagPointsArray[indexPath.row];
cell.txtPoint.text = cure.MyDesc;
您没有从数组中使用获取的模型对象。如果在数组中的右侧位置添加了对象,则必须执行此操作。 仔细检查您的模型数据定位以及我提到的上述两行。