Как предотвратить переходный переход при редактировании табличного представления в Swift? - PullRequest
0 голосов
/ 27 апреля 2019

Я создаю клон приложения Notes на основе приложения iOS Notes (для задачи учебника).Я использую функциональность isEditing для удаления строк в табличном представлении.
Первый экран связан со вторым с помощью перехода на раскадровку, но если я редактирую (то есть с пустыми кружками слева отряды), нажав на любую строку и выбирает и активирует переход.Как я могу избежать этого?

Я добавил if isEditing { return } вызов внутри segue, внутри didSelectRowAt (который я тогда удалил), но ничего из этого не работает.Переход по-прежнему происходит независимо.

Это setEditing one:

override func setEditing(_ editing: Bool, animated: Bool) {
    super.setEditing(editing, animated: true)
    tableView.setEditing(tableView.isEditing, animated: true)
    toolbarItems?[1].isEnabled.toggle()
    navigationItem.rightBarButtonItems?[1].isEnabled.toggle()
}

Нет другого кода редактирования, кроме кода создания кнопки let editButton = editButtonItem

Остальной код здесь .

Проверка также с помощью учебника Рэя Вендерлиха (приложение «Контрольный список») Я ожидаю, что все будет работать нормально, но я получаю переход, запускаемый при активном «режиме редактирования».

1 Ответ

2 голосов
/ 27 апреля 2019

Реализуйте shouldPerformSegue(withIdentifier:sender:) в вашем контроллере представления и верните ему false, если вы не хотите, чтобы переход выполнялся.

...