Как выбрать строки в режиме редактирования?

У меня есть UITableView, который доступен для редактирования. Я совершаю изменения через:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath

В режиме редактирования я хотел бы, чтобы пользователь мог выбрать строку, которая будет вызывать новое представление. Я не знаю, как это сделать. Я подозреваю, что он будет в:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

Но как я могу определить, находится ли пользователь в режиме редактирования или нет?

UPDATE: Режим редактирования переключается с помощью:

self.navigationItem.rightBarButtonItem = self.editButtonItem;

Ответы

Ответ 1

Чтобы разрешить выбор во время редактирования, вам нужно установить для свойства allowsSelectionDuringEditing значение UITableView значение YES. Затем он вызовет сообщение didSelectRowAtIndexPath. Дополнительную информацию об этом свойстве можно найти здесь:

http://developer.apple.com/iphone/library/documentation/uikit/reference/UITableView_Class/Reference/Reference.html#//apple_ref/occ/instp/UITableView/allowsSelectionDuringEditing

Затем вы можете увидеть, находится ли пользователь в режиме редактирования, запустив код следующим образом:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (tableView.editing == YES) {
        // Table view is editing - run code here
    }
}