У меня есть UITableView, который доступен для редактирования. Я фиксирую изменения через:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
В то время как в режиме редактирования, я хотел бы, чтобы пользователь смог выбрать строку, которая продвинет новое представление. Я не уверен, как сделать это. Я подозреваю, что это будет в:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
Но как я могу определить, находится ли пользователь в режиме редактирования или нет?
ОБНОВЛЕНИЕ: Режим редактирования переключается через:
self.navigationItem.rightBarButtonItem = self.editButtonItem;
Чтобы разрешить выбор во время редактирования, вам необходимо установить для свойства allowedSelectionDuringEditing
свойства UITableView
значение YES. Затем он вызовет сообщение didSelectRowAtIndexPath
. Дополнительную информацию об этом свойстве можно найти здесь:
Затем вы можете увидеть, находится ли пользователь в режиме редактирования, запустив следующий код:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (tableView.editing == YES) {
// Table view is editing - run code here
}
}