要在单击“添加”按钮的情况下在uitableview底部添加新单元格

时间:2012-04-14 09:25:31

标签: iphone uitableview

在我的视图中,我想在右上角添加一个添加按钮,当我们点击它时,它会显示带有文本字段的警报视图。当我们添加数据并单击alertview上的添加按钮时,应该创建一个新单元格,其中包含用户输入的文本。

我的代码:

-(IBAction)addNewBreed:(id)sender{
    UIAlertView *addAlert=[[UIAlertView alloc]initWithTitle:@"Add New Breed" message:@"\n\n" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Add",nil];
    UITextField *addTextField=[[UITextField alloc]initWithFrame:CGRectMake(12,45,260,25)];
    [addTextField becomeFirstResponder];
    [addTextField setBackgroundColor:[UIColor whiteColor]];
    addTextField.clearButtonMode=UITextFieldViewModeWhileEditing;
    [addAlert addSubview:addTextField];
    [addAlert show];
    [addAlert release];

}

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{

NSString *buttonTitle=[alertView buttonTitleAtIndex:buttonIndex];

if ([buttonTitle isEqualToString:@"Add"]) {

    [treeTable insertRowsAtIndexPaths:[NSArray arrayWithObject:addIndexPath] withRowAnimation:UITableViewRowAnimationBottom];
}
else
        return;
}

请帮我在底部添加新单元格。

3 个答案:

答案 0 :(得分:2)

您可以使用此方法插入行,试试这个

[self.tableView insertRowsAtIndexPaths: [NSArray arrayWithObject: indexPath] withRowAnimation:UITableViewRowAnimationLeft];

答案 1 :(得分:2)

如果要插入带有insertRowsAtIndexPath的新单元格,则必须先更新表格的dataSource。此外,应在以下方法之间调用此方法:

[table beginUpdates];

[table endUpdates];

来自this

  

注意在动画中调用此方法时的行为   由beginUpdatesendUpdates方法定义的块。 UITableView的   延迟任何行或部分的插入,直到它处理完毕   行或节的删除。无论订购如何,这都会发生   插入和删除方法调用。这与插入不同   或删除操作可能影响的可变数组中的项目   用于连续插入或删除的数组索引   操作

答案 2 :(得分:1)

在数组或字典中添加新值(无论你使用什么来显示cell.textlable.text),只需使用UitableView的重载数据方法。

[MyTableView ReloadData];