将自定义单元格添加到UITableview而不进行编辑

将自定义单元格添加到UITableview而不进行编辑,uitableview,ios4,Uitableview,Ios4,我已经为这件事挣扎了一段时间,所以我最终决定问一下,看看我做错了什么 我创建了一个自定义UITableViewCell,它在cells内容视图中将UITextField作为子视图。我试图完成的是在textView开始编辑时,在其下方插入一个带有标准占位符的新行。我假设这在下面的方法中是可能的,但我总是遇到崩溃。有办法做到这一点吗 我对iOS还不熟悉,但每次都能看到桌面视图 - (void)textFieldDidBeginEditing:(UITextField *)textField

我已经为这件事挣扎了一段时间,所以我最终决定问一下,看看我做错了什么

我创建了一个自定义UITableViewCell,它在cells内容视图中将UITextField作为子视图。我试图完成的是在textView开始编辑时,在其下方插入一个带有标准占位符的新行。我假设这在下面的方法中是可能的,但我总是遇到崩溃。有办法做到这一点吗

我对iOS还不熟悉,但每次都能看到桌面视图

- (void)textFieldDidBeginEditing:(UITextField *)textField
    {
        UITableView *tableView = (UITableView*)self.view;

        if ([textField tag] == 2) { // Only add row if textfield 2 is editing

            [tableView beginUpdates];
            [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[tableView indexPathForSelectedRow]] withRowAnimation:UITableViewRowAnimationTop];
        [tableView endUpdates];
        }
    [textField setFont:[UIFont systemFontOfSize:18.0]];
    [textField setTextColor:[UIColor blueColor]];
    }

如果有人有一些建议或参考资料(除了苹果的文档),我们将不胜感激

在插入之前,您没有更新作为
tableView
源的集合

[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[tableView indexPathForSelectedRow]] withRowAnimation:UITableViewRowAnimationTop];
这会立即查询数据源和委托。现在您可能想插入“placeholder”,但数组或字典是否包含正确返回数据所需的内容?如果要插入新行,而源未正确更新,则它将崩溃。因此,要纠正它,您需要在开始更新
tableView
之前修改源代码

我知道你不想要苹果的医生,但是看看这个,它可能会解决你的问题


此问题是仅在该应用程序中发生还是在所有应用程序中发生。我的意思是chek一旦在uitextfield中输入值。检查它是否会崩溃我不是舒尔我明白这一点。当我按下单元格时,textview开始编辑并调用我发布的方法。我很确定这是我自己的错,因为我索引错误,但我不知道如何修复它。问题是发生在模拟器还是设备上。检查一次。在设备中。我的部署目标是iOS 4.0版使用try-and-catch,我的想法是从这个文档中得到的。但问题是,我仍然不知道是否可以从textfield didbeagin方法调用它。@AndresBucci很抱歉,调用什么?tableview的来源是什么?我想插入一个带有默认参数的自定义UITableCell,因此,如果我理解您的意思,我必须使用这个新单元格创建一个数组,然后插入行?