Как удалить строку UITableView, когда я нажимаю кнопку удаления? - PullRequest
0 голосов
/ 12 сентября 2011

У меня есть UITableView. Я хотел бы, чтобы кнопка удаления отображалась при скольжении (пролистывании) ячейки таблицы. Затем, как только я нажму кнопку удаления, строка будет удалена.

Как я смогу это сделать? У кого-нибудь есть идеи по поводу этой функции iPhone?

Ответы [ 2 ]

2 голосов
/ 12 сентября 2011
- (void)tableView:(UITableView *)tableView 
commitEditingStyle:(UITableViewCellEditingStyle)editingStyle 
forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(editingStyle == UITableViewCellEditingStyleDelete)
    {
        [listArray removeObjectAtIndex:indexPath.row];
        [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationTop];
    }
}
0 голосов
/ 12 сентября 2011

Просто удалите соответствующие данные из вашей модели (вероятно, NSArray, на которой вы основываетесь для заполнения вашего tableView), в вашей реализации метода tableView:commitEditingStyle:forRowAtIndexPath:.Затем вызовите [tableView reloadData], чтобы попросить таблицу перезагрузить себя.


Примечание: Вы также можете использовать анимационные функции вставки / удаления строк (см. Документацию о deleteRowsAtIndexPaths:animation:), НО прежде чем пытаться управлять анимацией строк, вам сначала необходимо знать, как удалить модель - потому что они всегда должны быть синхронизированы, и пытаться поиграться с deleteRowsAtIndexPaths:animations:, без предварительного удаления строки из вашегоМодель успешно работает без анимации, и приложение, безусловно, вызовет исключение InconsistencyException.Поэтому переходите один за другим и сначала начните базовый шаг, изменив часть модели вашего MVC (NSArray, содержащий данные), прежде чем пытаться идти дальше!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...