2011-05-24 69 views
1

我正在学习为iPhone编程的书说我可以同时混合使用UITableViewCellEditingStyle和Insert/Delete。但我无法弄清楚如何去做。有一个UITableViewdataSource方法的返回类型是UITableViewCellEditingStyle.But如果我只能返回一件事情 - 无论是插入还是删除,我该如何同时返回两种样式。UITableViewCellEditingStyle同时插入和删除

回答

1

如果我理解正确的话,你想更新你的tableview都删除和添加新的细胞(和可选动画这种改变)。您需要嵌套beginUpdates块中您的来电:

[tableView beginUpdates] 
[tableView deleteRowsAtIndexPaths... 
[tableView insertRowsAtIndexPaths... 
[tableView commitUpdates] 

当需要调用commitUpdates:时,您需要确保您的UITableViewDataSourceDelegate方法反映了该更改。

+0

不,我的意思是我可以兼得 - 和+号tableviewcell文字的吧?这本书说我可以但没有解释如何。上面的代码显示了如何更新一个行。但是我需要一个tableview,我可以在希望时删除/插入。 – 2011-05-24 05:30:03

1

UITableViewCellEditingStyle是一个枚举,所以我不认为它可以同时插入和删除。这里有一个答案可以帮助你:

-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (indexPath.row == 0) { 
     return UITableViewCellEditingStyleInsert; 
    } 
    else 
    { 
     return UITableViewCellEditingStyleDelete; 
    } 
}