我的表格视图添加了内联单元格。
我有 cellForRowAtIndexPath:
VMEditableTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"EditableCell"];
cell.editableTF.font = [UIFont fontWithName:@"Helvetica" size:17.0];
cell.editableTF.delegate = self;
cell.editableTF.tag = indexPath.row;
[cell.editableTF setBorderStyle:UITextBorderStyleNone];
if ([self.extrasArray[indexPath.row] isEqual:@0]) { // recognise new added cell
self.extrasArray[indexPath.row] = @"";
[cell.editableTF becomeFirstResponder];
}
cell.editableTF.text = self.extrasArray[indexPath.row];
return cell;
当我开始表格视图时 - 内联添加工作正常。
当我使用“清除整个列表”按钮时问题就开始了 - 它只是从 extrasArray 中删除所有对象。
当我在清除后添加单元格时,它被不正确地出队并且文本字段没有响应 becomeFirstResponder。(它不是零,它调用 textFieldShouldBeginEditing(always YES) 但没有更多的事情发生 - 没有键盘出现。
我的最后一个想法是在 Cell 实现中覆盖 prepareForReuse 方法 - 但遗憾的是,既没有将 editableTF 设置为 nil 也没有重新初始化它不起作用。
如何强制细胞重新创建而不是应对?