2011-05-24 53 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; 
    } 
}