Вот удобное сообщение, в котором автор предоставляет некоторый исходный код для выполнения анимации в выбранной ячейке:
http://iphonedevelopment.blogspot.com/2010/01/navigation-based-core-data-application.html
Он использует это в контексте NSFetchedResultsController, но вы можете увидеть, как он использует различные вызовы для добавления / удаления ячеек и секций.
Теперь, в вашем случае, вам нужно изменить любой массив, который вы используете для размещения данных, используемых для генерации строк в вашем tableView, когда вы «активируете» свою ячейку, а затем выборочно использовать:
- Tableview: insertRowsAtIndexPaths: withRowAnimation:
- Tableview: deleteRowsAtIndexPaths: withRowAnimation:
- Tableview: insertSections: withRowAnimation:
- Tableview: deleteSections: withRowAnimation:
для соответствующей корректировки (вы можете начать с tableView: reloadData:, но это неэффективно).
Я понимаю, что API может быть немного пугающим, но найдите время, чтобы прочитать его и понять, что делают различные вызовы. Понимание того, как UITableView использует свой источник данных и делегат, а также цепочку событий, возникающих при выборе / удалении ячеек и т. Д., Важно, если вы хотите, чтобы все было правильно (и без сбоев).