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

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

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

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

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

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

ОБНОВЛЕНИЕ: Режим редактирования переключается через:

self.navigationItem.rightBarButtonItem = self.editButtonItem;
14
задан Peter Hosey 19 July 2010 в 06:05
поделиться

1 ответ

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

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

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

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (tableView.editing == YES) {
        // Table view is editing - run code here
    }
}
31
ответ дан 1 December 2019 в 08:51
поделиться