RealTime:在UITableViewController中向表中添加行

时间:2011-05-26 18:35:16

标签: iphone objective-c xcode uitableview uibutton

我刚检查了应用程序的数据源和UITableView,它们似乎运行良好。 我可以使用代码 - [... initWithObjects:(id),nil]向TableView添加一行,我可以在代码级别执行此操作。

这就是我想要做的。

  1. 在表格顶部创建一个“添加”按钮或“+”符号。
  2. 所以当App正在运行时..如果我点击它,我应该可以为该行设置一个名称。
  3. 如果我需要为它们创建更多行并设置名称,我只需按下添加按钮,然后再次为行键入新名称。
  4. 我如何实时进行此操作?

2 个答案:

答案 0 :(得分:5)

UITableView方法-insertRowsAtIndexPaths:withRowAnimation:用于以编程方式向表中添加行。

This answer可以直接解决您的问题。

答案 1 :(得分:1)

这是相当简单的...这是来自记忆,所以我可能在这里或那里有一个错字。这个想法应该可行。

tableView:numberOfRowsInSection:中,您返回[myArray count] + 1; (你要在总数中添加一行)

tableView:cellForRowAtIndexPath:中,[indexPath row] == [myArray count]的单元格是一个带有“Add Row”文本的单元格,而不是你的数据源,因为它转到[myArray count] -1。 (我觉得这很有意义)。 例如,

    if([indexPath row] == [myArray count]){
        cell.textLabel.text = @"Add New Item";
    } else {
         cell.textLabel.text = [[myArray objectAtIndex:[indexPath row]]
                                           valueForKey:@"title"];            
    }
    return cell;

然后您将新记录插入myArray和表格。

至于实际更改新行详细信息,您可以选择使用某种文本输入创建自定义单元格,或使用带有提示的模态视图控制器。这完全取决于你。