два разных пользовательских перехода в navigationController - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь сделать два разных пользовательских перехода (один переход и один слайд сверху) в контроллере навигации.enter image description here

Переход работает очень хорошо в первый раз, но когда щелкают переходы, они ведут себя как сумасшедшие.Я думаю, что навигация ControlController.delegate является ключом, но я не могу понять это самостоятельно.Любая помощь будет принята с благодарностью

1 Ответ

0 голосов
/ 07 октября 2018

Ваше начальное состояние в VC A. После viewDidLoad для navigationController? .Delegate устанавливается значение VC A, в котором используется anim1.Когда вы нажимаете на B, вы устанавливаете navigationController? .Delegate на B, который использует anim2.

Когда вы перемещаетесь из C в B, anim2 используется в качестве navigationController? .Delegate - это VC B.от B до A, anim2 используется, потому что навигационный контроллер?экземпляр VC B уничтожен.Вот почему при повторном нажатии кнопки B используется анимация по умолчанию.

Два важных элемента информации:

  1. viewDidLoad вызывается только один раз, когда представление имеетЗакончилась загрузка, а не когда она появляется снова после всплывающего окна.
  2. navigationController? .delegate может указывать только на одного делегата.
...