как удалить строку таблицы с помощью uiactionsheet?

У меня есть табличное представление элементов, и когда я нажимаю одну строку, я использую uiactionsheet с 3 кнопками: изменить, удалить и отменить. Когда я нажимаю кнопку редактирования, я открываю модальное представление, так как я могу это сделать? какой код для удаления таблицы?


person Community    schedule 21.08.2012    source источник


Ответы (2)


Если вы хотите удалить строку из UITableView, используйте метод с именем deleteRowsAtIndexPaths:withRowAnimation:. Вы можете найти все подробности в классе UITableView. Справочная страница.

Также не забудьте удалить соответствующий предмет из вашей модели!

person fguchelaar    schedule 21.08.2012
comment
вы можете сохранить NSIndexPath выбранной строки прямо перед отображением UIActionSheet. Затем после обратного вызова делегата нажатой кнопки используйте этот NSIndexPath для выполнения удаления: например, [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]. - person fguchelaar; 21.08.2012

UIActionSheet имеет свойство делегата. Добавьте протокол UIActionSheetDelegate в контроллер представления и установите себя в качестве делегата листа действий, прежде чем отображать его.

Лист действий вызовет

– actionSheet:clickedButtonAtIndex:

на его делегате, когда пользователь выбирает и выполняет действие. В вашей реализации этого вы можете делать то, что хотите, например удалить строку, как описано fguchelaar. Этот метод не знает напрямую, для какой строки был вызван лист действий, поэтому вы можете либо создать подкласс UIActionSheet, чтобы он мог сохранить indexPath, сохранить indexPath в вашем viewController, либо передать информацию каким-либо другим способом.

person Gordon Dove    schedule 21.08.2012