Ваше начальное состояние в 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 используется анимация по умолчанию.
Два важных элемента информации:
- viewDidLoad вызывается только один раз, когда представление имеетЗакончилась загрузка, а не когда она появляется снова после всплывающего окна.
- navigationController? .delegate может указывать только на одного делегата.